summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2021-04-27 03:48:13 +0000
committerMatthias Clasen <mclasen@redhat.com>2021-04-27 03:48:13 +0000
commit82f8fc3bee0a2175f5de38acb0e4465969da62b8 (patch)
tree63fc11d5121f9d31772f5bc30f66a9aa9e08f30a
parent1a12ea6e5a3369dc0a5bfe21e2b11504e1ad9401 (diff)
parentf37662c6551ee8dc34fd00c4ebd4f71dd30bc663 (diff)
downloadgtk+-82f8fc3bee0a2175f5de38acb0e4465969da62b8.tar.gz
Merge branch 'fix-panel-monitor' into 'master'
x11: Try harder to find the right monitor Closes #3900 See merge request GNOME/gtk!3477
-rw-r--r--gdk/x11/gdksurface-x11.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/gdk/x11/gdksurface-x11.c b/gdk/x11/gdksurface-x11.c
index aeaca9c0f9..f8a69b858e 100644
--- a/gdk/x11/gdksurface-x11.c
+++ b/gdk/x11/gdksurface-x11.c
@@ -1822,9 +1822,16 @@ gdk_x11_surface_layout_popup (GdkSurface *surface,
monitor = gdk_surface_get_layout_monitor (surface, layout,
gdk_x11_monitor_get_workarea);
- gdk_x11_monitor_get_workarea (monitor, &bounds);
+ if (monitor)
+ gdk_x11_monitor_get_workarea (monitor, &bounds);
+ else
+ {
+ monitor = gdk_surface_get_layout_monitor (surface, layout,
+ gdk_monitor_get_geometry);
+ gdk_monitor_get_geometry (monitor, &bounds);
+ }
- gdk_popup_layout_get_shadow_width (layout,
+ gdk_popup_layout_get_shadow_width (layout,
&impl->shadow_left,
&impl->shadow_right,
&impl->shadow_top,