From: Luca Bacci Date: Thu, 13 Jul 2023 14:24:55 +0000 (+0200) Subject: GtkMenu: Take offscreen windows in account for positioning X-Git-Tag: archive/raspbian/3.24.39-1+rpi1~1^2~22 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=1077a5f8e4060b4465ef802f8f9b196ab7bab1a2;p=gtk%2B3.0.git GtkMenu: Take offscreen windows in account for positioning Forwarded: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/6184 Origin: 3.24.39, commit:272b6b4febb3e293239e178410f87abcad85ba2d Gbp-Pq: Name GtkMenu-Take-offscreen-windows-in-account-for-positioning.patch --- diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index eac972bb41..3f1a7bc9fa 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -5263,6 +5263,24 @@ gtk_menu_position (GtkMenu *menu, } } + if (rect_window != NULL && + GDK_WINDOW_TYPE (rect_window) == GDK_WINDOW_OFFSCREEN) + { + GdkWindow *effective = gdk_offscreen_window_get_embedder (rect_window); + + if (effective) + { + double x = rect.x, y = rect.y; + + gdk_window_coords_to_parent (rect_window, x, y, &x, &y); + + rect.x = x; + rect.y = y; + } + + rect_window = effective; + } + if (!rect_window) { gtk_window_set_unlimited_guessed_size (GTK_WINDOW (priv->toplevel),