commit
342a57711d
@ -0,0 +1 @@
|
|||||||
|
SOURCES/mutter-47.alpha.tar.xz
|
@ -0,0 +1 @@
|
|||||||
|
a153b8b724d2c99e6560f5ed9c107bd1af0f2582 SOURCES/mutter-47.alpha.tar.xz
|
@ -0,0 +1,66 @@
|
|||||||
|
From beff8f13ed0cf16fa0b22f69de75f83e0378fdf1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
|
||||||
|
Date: Mon, 22 Jul 2024 12:37:01 +0200
|
||||||
|
Subject: [PATCH 1/3] Revert "x11/window: Compare input shape to client rect
|
||||||
|
when undecorating"
|
||||||
|
|
||||||
|
This reverts commit 1f1538be764ec5018b29d31c4486c0649a4e5068.
|
||||||
|
---
|
||||||
|
src/x11/window-x11.c | 16 +++++++++-------
|
||||||
|
1 file changed, 9 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c
|
||||||
|
index adf5075a9b..e7c76dd674 100644
|
||||||
|
--- a/src/x11/window-x11.c
|
||||||
|
+++ b/src/x11/window-x11.c
|
||||||
|
@@ -2415,7 +2415,6 @@ meta_window_x11_update_input_region (MetaWindow *window)
|
||||||
|
g_autoptr (MtkRegion) region = NULL;
|
||||||
|
MetaWindowX11 *window_x11 = META_WINDOW_X11 (window);
|
||||||
|
MetaWindowX11Private *priv = meta_window_x11_get_instance_private (window_x11);
|
||||||
|
- MtkRectangle bounding_rect = { 0 };
|
||||||
|
Window xwindow;
|
||||||
|
|
||||||
|
if (window->decorated)
|
||||||
|
@@ -2427,14 +2426,10 @@ meta_window_x11_update_input_region (MetaWindow *window)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
xwindow = priv->frame->xwindow;
|
||||||
|
- bounding_rect.width = window->buffer_rect.width;
|
||||||
|
- bounding_rect.height = window->buffer_rect.height;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
xwindow = priv->xwindow;
|
||||||
|
- bounding_rect.width = priv->client_rect.width;
|
||||||
|
- bounding_rect.height = priv->client_rect.height;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (META_X11_DISPLAY_HAS_SHAPE (x11_display))
|
||||||
|
@@ -2478,8 +2473,8 @@ meta_window_x11_update_input_region (MetaWindow *window)
|
||||||
|
else if (n_rects == 1 &&
|
||||||
|
(rects[0].x == 0 &&
|
||||||
|
rects[0].y == 0 &&
|
||||||
|
- rects[0].width == bounding_rect.width &&
|
||||||
|
- rects[0].height == bounding_rect.height))
|
||||||
|
+ rects[0].width == window->buffer_rect.width &&
|
||||||
|
+ rects[0].height == window->buffer_rect.height))
|
||||||
|
{
|
||||||
|
/* This is the bounding region case. Keep the
|
||||||
|
* region as NULL. */
|
||||||
|
@@ -2496,6 +2491,13 @@ meta_window_x11_update_input_region (MetaWindow *window)
|
||||||
|
|
||||||
|
if (region != NULL)
|
||||||
|
{
|
||||||
|
+ MtkRectangle bounding_rect;
|
||||||
|
+
|
||||||
|
+ bounding_rect.x = 0;
|
||||||
|
+ bounding_rect.y = 0;
|
||||||
|
+ bounding_rect.width = window->buffer_rect.width;
|
||||||
|
+ bounding_rect.height = window->buffer_rect.height;
|
||||||
|
+
|
||||||
|
/* The shape we get back from the client may have coordinates
|
||||||
|
* outside of the frame. The X SHAPE Extension requires that
|
||||||
|
* the overall shape the client provides never exceeds the
|
||||||
|
--
|
||||||
|
2.44.0.501.g19981daefd.dirty
|
||||||
|
|
@ -0,0 +1,35 @@
|
|||||||
|
From c0fda823b3f0c6802afe549379135719f86c6bfc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Adam Williamson <awilliam@redhat.com>
|
||||||
|
Date: Tue, 9 Mar 2021 17:21:59 -0800
|
||||||
|
Subject: [PATCH] Test: deny atomic KMS for "tegra" (RHBZ #1936991)
|
||||||
|
|
||||||
|
Signed-off-by: Adam Williamson <awilliam@redhat.com>
|
||||||
|
---
|
||||||
|
data/61-mutter.rules | 1 +
|
||||||
|
src/backends/native/meta-kms-impl-device-atomic.c | 1 +
|
||||||
|
2 files changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/data/61-mutter.rules b/data/61-mutter.rules
|
||||||
|
index 9262b152b9..24f9655b69 100644
|
||||||
|
--- a/data/61-mutter.rules
|
||||||
|
+++ b/data/61-mutter.rules
|
||||||
|
@@ -114,3 +114,4 @@ DRIVERS=="i915", SUBSYSTEM=="drm", ATTRS{vendor}=="0x8086", ATTRS{device}=="0x9b
|
||||||
|
DRIVERS=="i915", SUBSYSTEM=="drm", ATTRS{vendor}=="0x8086", ATTRS{device}=="0x9be6", TAG+="mutter-device-disable-kms-modifiers"
|
||||||
|
DRIVERS=="i915", SUBSYSTEM=="drm", ATTRS{vendor}=="0x8086", ATTRS{device}=="0x9bf6", TAG+="mutter-device-disable-kms-modifiers"
|
||||||
|
ENV{ID_PATH}=="platform-vkms", TAG+="mutter-device-ignore"
|
||||||
|
+DRIVER=="tegra", SUBSYSTEM=="platform", TAG+="mutter-device-disable-atomic-kms"
|
||||||
|
diff --git a/src/backends/native/meta-kms-impl-device-atomic.c b/src/backends/native/meta-kms-impl-device-atomic.c
|
||||||
|
index a4ffd70b6a..9fac299e14 100644
|
||||||
|
--- a/src/backends/native/meta-kms-impl-device-atomic.c
|
||||||
|
+++ b/src/backends/native/meta-kms-impl-device-atomic.c
|
||||||
|
@@ -1306,6 +1306,7 @@ requires_hotspots (const char *driver_name)
|
||||||
|
"vboxvideo",
|
||||||
|
"virtio_gpu",
|
||||||
|
"vmwgfx",
|
||||||
|
+ "tegra",
|
||||||
|
NULL,
|
||||||
|
};
|
||||||
|
|
||||||
|
--
|
||||||
|
2.44.0.501.g19981daefd.dirty
|
||||||
|
|
@ -0,0 +1,28 @@
|
|||||||
|
From cbe6fb86ce1e71c7360974a960db6bf79eb1ebde Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
|
Date: Fri, 2 Dec 2022 22:49:41 +0100
|
||||||
|
Subject: [PATCH] place: Always center initial-setup/fedora-welcome
|
||||||
|
|
||||||
|
---
|
||||||
|
src/core/place.c | 5 +++++
|
||||||
|
1 file changed, 5 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/core/place.c b/src/core/place.c
|
||||||
|
index 8a06ccb667..f34ae7f43d 100644
|
||||||
|
--- a/src/core/place.c
|
||||||
|
+++ b/src/core/place.c
|
||||||
|
@@ -377,6 +377,11 @@ window_place_centered (MetaWindow *window)
|
||||||
|
|
||||||
|
type = window->type;
|
||||||
|
|
||||||
|
+ if (g_strcmp0 (meta_window_get_wm_class (window), "org.gnome.InitialSetup") == 0 ||
|
||||||
|
+ g_strcmp0 (meta_window_get_wm_class (window), "org.fedoraproject.welcome-screen") == 0 ||
|
||||||
|
+ g_strcmp0 (meta_window_get_wm_class (window), "fedora-welcome") == 0)
|
||||||
|
+ return TRUE;
|
||||||
|
+
|
||||||
|
return (type == META_WINDOW_DIALOG ||
|
||||||
|
type == META_WINDOW_MODAL_DIALOG ||
|
||||||
|
type == META_WINDOW_SPLASHSCREEN ||
|
||||||
|
--
|
||||||
|
2.44.0.501.g19981daefd.dirty
|
||||||
|
|
@ -0,0 +1,35 @@
|
|||||||
|
From 51e378c8f28b96b94c8da338b1b0f26cbc32c7f0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
|
Date: Fri, 12 May 2017 13:40:31 +0200
|
||||||
|
Subject: [PATCH] window-actor: Special-case shaped Java windows
|
||||||
|
|
||||||
|
OpenJDK wrongly assumes that shaping a window implies no shadows.
|
||||||
|
They got lucky until commit b975676c changed the fallback case,
|
||||||
|
but now their compliance tests are broken. Make them happy again
|
||||||
|
by special-casing shaped Java windows.
|
||||||
|
---
|
||||||
|
src/compositor/meta-window-actor-x11.c | 8 ++++++++
|
||||||
|
1 file changed, 8 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/compositor/meta-window-actor-x11.c b/src/compositor/meta-window-actor-x11.c
|
||||||
|
index 2781df09cc..8748f3aa3a 100644
|
||||||
|
--- a/src/compositor/meta-window-actor-x11.c
|
||||||
|
+++ b/src/compositor/meta-window-actor-x11.c
|
||||||
|
@@ -431,6 +431,14 @@ has_shadow (MetaWindowActorX11 *actor_x11)
|
||||||
|
if (priv->has_custom_frame_extents)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
+ /*
|
||||||
|
+ * OpenJDK wrongly assumes that shaping a window implies no compositor
|
||||||
|
+ * shadows; make its compliance tests happy to give it what it wants ...
|
||||||
|
+ */
|
||||||
|
+ if (g_strcmp0 (window->res_name, "sun-awt-X11-XWindowPeer") == 0 &&
|
||||||
|
+ priv->shape_region != NULL)
|
||||||
|
+ return FALSE;
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* Generate shadows for all other windows.
|
||||||
|
*/
|
||||||
|
--
|
||||||
|
2.44.0.501.g19981daefd.dirty
|
||||||
|
|
@ -0,0 +1,62 @@
|
|||||||
|
From d1be108c729331aa169a2a0397925c7b17507857 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
|
||||||
|
Date: Fri, 20 Oct 2023 15:44:29 +0800
|
||||||
|
Subject: [PATCH 1/4] x11-display: Make subwindow redirection call mode
|
||||||
|
specific
|
||||||
|
|
||||||
|
This means that for X11 sessions we'll do it before any windows are
|
||||||
|
mapped, and before any plugin implementation is started. Doing it before
|
||||||
|
a plugin is started is important, because things that the plugin does
|
||||||
|
during startup can have consequences on how compositing on Xorg works.
|
||||||
|
|
||||||
|
For the Xwayland case, we'll do it relatively in the setup phase. It
|
||||||
|
appears to have been harmless to do it later in the post-opened signal,
|
||||||
|
but there is no harm in doing it as one of the earlier steps.
|
||||||
|
|
||||||
|
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3089
|
||||||
|
---
|
||||||
|
src/compositor/meta-compositor-x11.c | 2 ++
|
||||||
|
src/wayland/meta-xwayland.c | 1 +
|
||||||
|
src/x11/meta-x11-display.c | 1 -
|
||||||
|
3 files changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/compositor/meta-compositor-x11.c b/src/compositor/meta-compositor-x11.c
|
||||||
|
index cbc48bcefc..760d6fdddc 100644
|
||||||
|
--- a/src/compositor/meta-compositor-x11.c
|
||||||
|
+++ b/src/compositor/meta-compositor-x11.c
|
||||||
|
@@ -188,6 +188,8 @@ meta_compositor_x11_manage (MetaCompositor *compositor,
|
||||||
|
|
||||||
|
compositor_x11->have_x11_sync_object = meta_sync_ring_init (xdisplay);
|
||||||
|
|
||||||
|
+ meta_x11_display_redirect_windows (x11_display, display);
|
||||||
|
+
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/src/wayland/meta-xwayland.c b/src/wayland/meta-xwayland.c
|
||||||
|
index 3366f11adc..db0a4a271a 100644
|
||||||
|
--- a/src/wayland/meta-xwayland.c
|
||||||
|
+++ b/src/wayland/meta-xwayland.c
|
||||||
|
@@ -1179,6 +1179,7 @@ on_x11_display_setup (MetaDisplay *display,
|
||||||
|
{
|
||||||
|
MetaX11Display *x11_display = meta_display_get_x11_display (display);
|
||||||
|
|
||||||
|
+ meta_x11_display_redirect_windows (x11_display, display);
|
||||||
|
meta_xwayland_init_dnd (x11_display);
|
||||||
|
meta_xwayland_init_xrandr (manager, x11_display);
|
||||||
|
}
|
||||||
|
diff --git a/src/x11/meta-x11-display.c b/src/x11/meta-x11-display.c
|
||||||
|
index 6b8d7faf55..6de0511dc6 100644
|
||||||
|
--- a/src/x11/meta-x11-display.c
|
||||||
|
+++ b/src/x11/meta-x11-display.c
|
||||||
|
@@ -308,7 +308,6 @@ on_x11_display_opened (MetaX11Display *x11_display,
|
||||||
|
MetaDisplay *display)
|
||||||
|
{
|
||||||
|
meta_display_manage_all_xwindows (display);
|
||||||
|
- meta_x11_display_redirect_windows (x11_display, display);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
--
|
||||||
|
2.44.0.501.g19981daefd.dirty
|
||||||
|
|
@ -0,0 +1,47 @@
|
|||||||
|
From 3a73958f7eab973189441ec9b4a4c96ee6bb8ec7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
|
||||||
|
Date: Mon, 22 Jul 2024 12:55:30 +0200
|
||||||
|
Subject: [PATCH 2/3] Revert "x11/window: Update comment and variable name to
|
||||||
|
reflect current behavior"
|
||||||
|
|
||||||
|
This reverts commit e4763d00e8512aeb408ae118597d753f12217487.
|
||||||
|
---
|
||||||
|
src/x11/window-x11.c | 15 ++++++++-------
|
||||||
|
1 file changed, 8 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c
|
||||||
|
index e7c76dd674..b358b64bf2 100644
|
||||||
|
--- a/src/x11/window-x11.c
|
||||||
|
+++ b/src/x11/window-x11.c
|
||||||
|
@@ -2491,20 +2491,21 @@ meta_window_x11_update_input_region (MetaWindow *window)
|
||||||
|
|
||||||
|
if (region != NULL)
|
||||||
|
{
|
||||||
|
- MtkRectangle bounding_rect;
|
||||||
|
+ MtkRectangle client_area;
|
||||||
|
|
||||||
|
- bounding_rect.x = 0;
|
||||||
|
- bounding_rect.y = 0;
|
||||||
|
- bounding_rect.width = window->buffer_rect.width;
|
||||||
|
- bounding_rect.height = window->buffer_rect.height;
|
||||||
|
+ client_area.x = 0;
|
||||||
|
+ client_area.y = 0;
|
||||||
|
+ client_area.width = window->buffer_rect.width;
|
||||||
|
+ client_area.height = window->buffer_rect.height;
|
||||||
|
|
||||||
|
/* The shape we get back from the client may have coordinates
|
||||||
|
* outside of the frame. The X SHAPE Extension requires that
|
||||||
|
* the overall shape the client provides never exceeds the
|
||||||
|
* "bounding rectangle" of the window -- the shape that the
|
||||||
|
- * window would have gotten if it was unshaped.
|
||||||
|
+ * window would have gotten if it was unshaped. In our case,
|
||||||
|
+ * this is simply the client area.
|
||||||
|
*/
|
||||||
|
- mtk_region_intersect_rectangle (region, &bounding_rect);
|
||||||
|
+ mtk_region_intersect_rectangle (region, &client_area);
|
||||||
|
}
|
||||||
|
|
||||||
|
meta_window_set_input_region (window, region);
|
||||||
|
--
|
||||||
|
2.44.0.501.g19981daefd.dirty
|
||||||
|
|
@ -0,0 +1,112 @@
|
|||||||
|
From c6a74d8f4161440a530bea5ca3b5cf199beb046b Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
|
||||||
|
Date: Fri, 20 Oct 2023 17:03:31 +0800
|
||||||
|
Subject: [PATCH 2/4] display: Move X11 initial focus handling to
|
||||||
|
MetaX11Display
|
||||||
|
|
||||||
|
It's X11 specific, so put it in the X11 display manager object.
|
||||||
|
---
|
||||||
|
src/core/display.c | 34 ----------------------------------
|
||||||
|
src/x11/meta-x11-display.c | 25 +++++++++++++++++++++++++
|
||||||
|
2 files changed, 25 insertions(+), 34 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/core/display.c b/src/core/display.c
|
||||||
|
index bd09082ed2..ddd475f457 100644
|
||||||
|
--- a/src/core/display.c
|
||||||
|
+++ b/src/core/display.c
|
||||||
|
@@ -945,9 +945,6 @@ meta_display_new (MetaContext *context,
|
||||||
|
MetaDisplay *display;
|
||||||
|
MetaDisplayPrivate *priv;
|
||||||
|
guint32 timestamp;
|
||||||
|
-#ifdef HAVE_X11_CLIENT
|
||||||
|
- Window old_active_xwindow = None;
|
||||||
|
-#endif
|
||||||
|
MetaMonitorManager *monitor_manager;
|
||||||
|
MetaSettings *settings;
|
||||||
|
MetaInputCapture *input_capture;
|
||||||
|
@@ -1065,14 +1062,6 @@ meta_display_new (MetaContext *context,
|
||||||
|
display->last_focus_time = timestamp;
|
||||||
|
display->last_user_time = timestamp;
|
||||||
|
|
||||||
|
-#ifdef HAVE_X11
|
||||||
|
- if (!meta_is_wayland_compositor ())
|
||||||
|
- meta_prop_get_window (display->x11_display,
|
||||||
|
- display->x11_display->xroot,
|
||||||
|
- display->x11_display->atom__NET_ACTIVE_WINDOW,
|
||||||
|
- &old_active_xwindow);
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
if (!meta_compositor_manage (display->compositor, error))
|
||||||
|
{
|
||||||
|
g_object_unref (display);
|
||||||
|
@@ -1093,30 +1082,7 @@ meta_display_new (MetaContext *context,
|
||||||
|
g_signal_connect (display->gesture_tracker, "state-changed",
|
||||||
|
G_CALLBACK (gesture_tracker_state_changed), display);
|
||||||
|
|
||||||
|
- /* We know that if mutter is running as a Wayland compositor,
|
||||||
|
- * we start out with no windows.
|
||||||
|
- */
|
||||||
|
-#ifdef HAVE_X11_CLIENT
|
||||||
|
- if (!meta_is_wayland_compositor ())
|
||||||
|
- meta_display_manage_all_xwindows (display);
|
||||||
|
-
|
||||||
|
- if (old_active_xwindow != None)
|
||||||
|
- {
|
||||||
|
- MetaWindow *old_active_window;
|
||||||
|
- old_active_window = meta_x11_display_lookup_x_window (display->x11_display,
|
||||||
|
- old_active_xwindow);
|
||||||
|
- if (old_active_window)
|
||||||
|
- meta_window_focus (old_active_window, timestamp);
|
||||||
|
- else
|
||||||
|
- meta_display_unset_input_focus (display, timestamp);
|
||||||
|
- }
|
||||||
|
- else
|
||||||
|
- {
|
||||||
|
- meta_display_unset_input_focus (display, timestamp);
|
||||||
|
- }
|
||||||
|
-#else
|
||||||
|
meta_display_unset_input_focus (display, timestamp);
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
g_signal_connect (stage, "notify::is-grabbed",
|
||||||
|
G_CALLBACK (on_is_grabbed_changed), display);
|
||||||
|
diff --git a/src/x11/meta-x11-display.c b/src/x11/meta-x11-display.c
|
||||||
|
index 6de0511dc6..267fa1b835 100644
|
||||||
|
--- a/src/x11/meta-x11-display.c
|
||||||
|
+++ b/src/x11/meta-x11-display.c
|
||||||
|
@@ -307,7 +307,32 @@ static void
|
||||||
|
on_x11_display_opened (MetaX11Display *x11_display,
|
||||||
|
MetaDisplay *display)
|
||||||
|
{
|
||||||
|
+ Window old_active_xwindow = None;
|
||||||
|
+
|
||||||
|
+ if (!meta_is_wayland_compositor ())
|
||||||
|
+ {
|
||||||
|
+ meta_prop_get_window (display->x11_display,
|
||||||
|
+ display->x11_display->xroot,
|
||||||
|
+ display->x11_display->atom__NET_ACTIVE_WINDOW,
|
||||||
|
+ &old_active_xwindow);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
meta_display_manage_all_xwindows (display);
|
||||||
|
+
|
||||||
|
+ if (old_active_xwindow != None)
|
||||||
|
+ {
|
||||||
|
+ MetaWindow *old_active_window;
|
||||||
|
+
|
||||||
|
+ old_active_window = meta_x11_display_lookup_x_window (x11_display,
|
||||||
|
+ old_active_xwindow);
|
||||||
|
+ if (old_active_window)
|
||||||
|
+ {
|
||||||
|
+ uint32_t timestamp;
|
||||||
|
+
|
||||||
|
+ timestamp = display->x11_display->timestamp;
|
||||||
|
+ meta_window_focus (old_active_window, timestamp);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
--
|
||||||
|
2.44.0.501.g19981daefd.dirty
|
||||||
|
|
@ -0,0 +1,29 @@
|
|||||||
|
From 3e6ba58c875055037e45f651bbcf866d2d47d82f Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
|
||||||
|
Date: Mon, 22 Jul 2024 12:55:44 +0200
|
||||||
|
Subject: [PATCH 3/3] Revert "x11/window: Use correct bounding rect to
|
||||||
|
determine NULL input region"
|
||||||
|
|
||||||
|
This reverts commit 6bd920b355d12395dbf00b99374fc1f23783caaf.
|
||||||
|
---
|
||||||
|
src/x11/window-x11.c | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c
|
||||||
|
index b358b64bf2..16dc57eec2 100644
|
||||||
|
--- a/src/x11/window-x11.c
|
||||||
|
+++ b/src/x11/window-x11.c
|
||||||
|
@@ -2473,8 +2473,8 @@ meta_window_x11_update_input_region (MetaWindow *window)
|
||||||
|
else if (n_rects == 1 &&
|
||||||
|
(rects[0].x == 0 &&
|
||||||
|
rects[0].y == 0 &&
|
||||||
|
- rects[0].width == window->buffer_rect.width &&
|
||||||
|
- rects[0].height == window->buffer_rect.height))
|
||||||
|
+ rects[0].width == priv->client_rect.width &&
|
||||||
|
+ rects[0].height == priv->client_rect.height))
|
||||||
|
{
|
||||||
|
/* This is the bounding region case. Keep the
|
||||||
|
* region as NULL. */
|
||||||
|
--
|
||||||
|
2.44.0.501.g19981daefd.dirty
|
||||||
|
|
@ -0,0 +1,33 @@
|
|||||||
|
From cc450c372358bc32960102ffdb2769a9f70cb6d5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
|
||||||
|
Date: Tue, 17 Oct 2023 15:46:00 +0800
|
||||||
|
Subject: [PATCH 3/4] tests/x11: Fix replace test to catch the second instance
|
||||||
|
failing
|
||||||
|
|
||||||
|
The test never noticed that the second instance never actually managed
|
||||||
|
to load; it was looping a multi second retry session trying to redirect
|
||||||
|
windows, meaning it failed to catch https://gitlab.gnome.org/GNOME/mutter/-/issues/3089.
|
||||||
|
|
||||||
|
Fix the test so that it always waits for mutter to finish loading
|
||||||
|
successfully, just like it waits fro the first.
|
||||||
|
---
|
||||||
|
src/tests/x11-test.sh | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/tests/x11-test.sh b/src/tests/x11-test.sh
|
||||||
|
index 59e460fc33..d95b2460f6 100755
|
||||||
|
--- a/src/tests/x11-test.sh
|
||||||
|
+++ b/src/tests/x11-test.sh
|
||||||
|
@@ -34,6 +34,9 @@ echo \# Launched with pid $MUTTER2_PID
|
||||||
|
MUTTER2_PID=$!
|
||||||
|
wait $MUTTER1_PID
|
||||||
|
|
||||||
|
+echo \# Waiting for the second mutter to finish loading
|
||||||
|
+gdbus wait --session org.gnome.Mutter.IdleMonitor
|
||||||
|
+
|
||||||
|
sleep 2
|
||||||
|
|
||||||
|
echo \# Terminating clients > /dev/stderr
|
||||||
|
--
|
||||||
|
2.44.0.501.g19981daefd.dirty
|
||||||
|
|
@ -0,0 +1,41 @@
|
|||||||
|
From 5b589b298680bd394dd6a1ee7bef3d7def1a96c8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
|
||||||
|
Date: Mon, 23 Oct 2023 14:47:33 +0800
|
||||||
|
Subject: [PATCH 4/4] display: Rename mandatory X11 initialization function
|
||||||
|
|
||||||
|
Simply to make it clear that the renamed function is specific to a
|
||||||
|
particular X11 initialization mode (mandatory Xwayland), put that in the
|
||||||
|
name, so that it's easier to understand when this function is relevant.
|
||||||
|
---
|
||||||
|
src/core/display.c | 8 ++++----
|
||||||
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/core/display.c b/src/core/display.c
|
||||||
|
index ddd475f457..e4f623ff9d 100644
|
||||||
|
--- a/src/core/display.c
|
||||||
|
+++ b/src/core/display.c
|
||||||
|
@@ -910,9 +910,9 @@ meta_display_init_x11 (MetaDisplay *display,
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
-on_x11_initialized (MetaDisplay *display,
|
||||||
|
- GAsyncResult *result,
|
||||||
|
- gpointer user_data)
|
||||||
|
+on_mandatory_x11_initialized (MetaDisplay *display,
|
||||||
|
+ GAsyncResult *result,
|
||||||
|
+ gpointer user_data)
|
||||||
|
{
|
||||||
|
g_autoptr (GError) error = NULL;
|
||||||
|
|
||||||
|
@@ -1035,7 +1035,7 @@ meta_display_new (MetaContext *context,
|
||||||
|
if (x11_display_policy == META_X11_DISPLAY_POLICY_MANDATORY)
|
||||||
|
{
|
||||||
|
meta_display_init_x11 (display, NULL,
|
||||||
|
- (GAsyncReadyCallback) on_x11_initialized,
|
||||||
|
+ (GAsyncReadyCallback) on_mandatory_x11_initialized,
|
||||||
|
NULL);
|
||||||
|
}
|
||||||
|
#endif /* HAVE_XWAYLAND */
|
||||||
|
--
|
||||||
|
2.44.0.501.g19981daefd.dirty
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue