From f5bf4aeaa61ca4eb7df1fd57f043263a08d603be Mon Sep 17 00:00:00 2001 From: Campbell Jones Date: Wed, 30 Sep 2020 11:44:41 -0400 Subject: [PATCH] GtkTooltip: Prevent tooltips from appearing offscreen This commit adds a single additional condition to the maybe_flip_position function in gdkwindowimpl.c. If a tooltip's unflipped position is below the bounds of its containing area, the tooltip uses its flipped position instead. This prevents tooltips from appearing below the bounds of the screen when a small widget is positioned very close to the bottom edge of the screen, such as in Budgie and XFCE panel applets. Fixes #2784. --- gdk/gdkwindowimpl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/gdkwindowimpl.c b/gdk/gdkwindowimpl.c index c42c5aa2185..eb023071736 100644 --- a/gdk/gdkwindowimpl.c +++ b/gdk/gdkwindowimpl.c @@ -166,7 +166,7 @@ maybe_flip_position (gint bounds_pos, *flipped = TRUE; secondary = rect_pos + (1 - rect_sign) * rect_size / 2 - offset - (1 - window_sign) * window_size / 2; - if (secondary >= bounds_pos && secondary + window_size <= bounds_pos + bounds_size) + if (secondary >= bounds_pos && secondary + window_size <= bounds_pos + bounds_size || primary > bounds_pos + bounds_size) return secondary; *flipped = FALSE; -- GitLab