aboutsummaryrefslogtreecommitdiffstats
path: root/main/gtk+3.0/fix-invisible-wayland-surfaces.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/gtk+3.0/fix-invisible-wayland-surfaces.patch')
-rw-r--r--main/gtk+3.0/fix-invisible-wayland-surfaces.patch58
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
+
+