ports/x11-toolkits/gtk30/files/0001-Ignore-wl_output-globals-not-bound-by-us.patch
Baptiste Daroussin 57c50ac376 x11-toolkits/gtk30: backport 2 patches for wayland
Those 2 patches are fixing a bug shown by firefox under wayland:
when running a wayland desktop with dual screen and different settings
for the 2 screens, the combobox were not functionnal if firefox is on
the second screen.
2021-12-03 08:45:02 +01:00

34 lines
1.2 KiB
Diff

From 9a4e32892896ce1d0a92f413845f6f7f18f9b456 Mon Sep 17 00:00:00 2001
From: Ronan Pigott <rpigott@berkeley.edu>
Date: Sat, 11 Sep 2021 17:22:12 -0700
Subject: [PATCH] Ignore wl_output globals not bound by us
Gdk doesn't know the scale of output globals it didn't bind. This
keeps them from entering the output list and triggering erroneous
changes in surface scales.
---
gdk/wayland/gdkwindow-wayland.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c
index 2d7c42bd7a..1e82dcae3e 100644
--- a/gdk/wayland/gdkwindow-wayland.c
+++ b/gdk/wayland/gdkwindow-wayland.c
@@ -1520,6 +1520,14 @@ surface_enter (void *data,
{
GdkWindow *window = GDK_WINDOW (data);
GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl);
+ GdkWaylandDisplay *display_wayland =
+ GDK_WAYLAND_DISPLAY (gdk_window_get_display (window));
+ gboolean output_is_unmanaged;
+
+ output_is_unmanaged =
+ _gdk_wayland_screen_get_output_scale (display_wayland->screen, output) == 0;
+ if (output_is_unmanaged)
+ return;
GDK_NOTE (EVENTS,
g_message ("surface enter, window %p output %p", window, output));
--
2.33.1