You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mutter/SOURCES/0001-Revert-x11-window-Comp...

67 lines
2.4 KiB

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