mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-25 13:11:13 +00:00
GdkSurface: prevent popups from appearing offscreen in edge cases
This commit adds a single additional condition to the maybe_flip_position function in gdksurface.c. If a popup's unflipped position is below the bounds of its containing area, the popup 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.
This commit is contained in:
parent
7d34e7e0f7
commit
5c00dc7ef4
@ -256,7 +256,7 @@ maybe_flip_position (int bounds_pos,
|
||||
*flipped = TRUE;
|
||||
secondary = rect_pos + (1 - rect_sign) * rect_size / 2 - offset - (1 - surface_sign) * surface_size / 2;
|
||||
|
||||
if (secondary >= bounds_pos && secondary + surface_size <= bounds_pos + bounds_size)
|
||||
if ((secondary >= bounds_pos && secondary + surface_size <= bounds_pos + bounds_size) || primary > bounds_pos + bounds_size)
|
||||
return secondary;
|
||||
|
||||
*flipped = FALSE;
|
||||
|
Loading…
Reference in New Issue
Block a user