diff options
Diffstat (limited to 'main/gtk+3.0/fix-invisible-wayland-surfaces.patch')
-rw-r--r-- | main/gtk+3.0/fix-invisible-wayland-surfaces.patch | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/main/gtk+3.0/fix-invisible-wayland-surfaces.patch b/main/gtk+3.0/fix-invisible-wayland-surfaces.patch new file mode 100644 index 0000000000..40a2f16c57 --- /dev/null +++ b/main/gtk+3.0/fix-invisible-wayland-surfaces.patch @@ -0,0 +1,58 @@ +From 12fc9a45efcbb546eb7de13c5c4d3183f2f5a3b8 Mon Sep 17 00:00:00 2001 +From: William Wold <wm@wmww.sh> +Date: Sun, 5 Apr 2020 05:26:24 -0400 +Subject: [PATCH 1/2] Do not require an initial configure for custom Wayland + surfaces + +There is no way for custom Wayland surfaces to get configure events, so an +initial configure event should not be required to resize a custom surface. + +Fixes #2578. +--- + gdk/wayland/gdkwindow-wayland.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c +index eba8361b21..5f39c5771c 100644 +--- a/gdk/wayland/gdkwindow-wayland.c ++++ b/gdk/wayland/gdkwindow-wayland.c +@@ -1087,6 +1087,8 @@ needs_initial_configure (GdkWindow *window) + + if (impl->display_server.wl_subsurface) + return FALSE; ++ else if (impl->use_custom_surface) ++ return FALSE; + else if (is_realized_toplevel (window)) + return TRUE; + else if (is_realized_popup (window)) +-- +2.24.1 + + +From 5a52af20cba76474e631b2a7548963bcad22d66d Mon Sep 17 00:00:00 2001 +From: William Wold <wm@wmww.sh> +Date: Sun, 5 Apr 2020 07:11:45 -0400 +Subject: [PATCH 2/2] Do not require an initial configure for DnD windows + +Fixes #2075 +--- + gdk/wayland/gdkwindow-wayland.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c +index 5f39c5771c..04506508f3 100644 +--- a/gdk/wayland/gdkwindow-wayland.c ++++ b/gdk/wayland/gdkwindow-wayland.c +@@ -1089,6 +1089,8 @@ needs_initial_configure (GdkWindow *window) + return FALSE; + else if (impl->use_custom_surface) + return FALSE; ++ else if (impl->hint == GDK_WINDOW_TYPE_HINT_DND) ++ return FALSE; + else if (is_realized_toplevel (window)) + return TRUE; + else if (is_realized_popup (window)) +-- +2.24.1 + + |