[mutter] window/wayland: Don't inhibit finishing moves if any window is resized
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] window/wayland: Don't inhibit finishing moves if any window is resized
- Date: Sat, 29 Feb 2020 21:08:32 +0000 (UTC)
commit 7f9fac2ba23baf86d558a15f3e75e04098a7323e
Author: Jonas Ã…dahl <jadahl gmail com>
Date: Fri Jul 26 18:49:17 2019 +0200
window/wayland: Don't inhibit finishing moves if any window is resized
meta_window_wayland_finish_move_resize() inhibited window moves to be
finished if there was a resize grab active at the time, in order to
handle window resizing. Change this to only affect the grabbed window
itself, so that e.g. a popup can be positioned according to a pending
configuration while there is an active resize grab.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/705
src/wayland/meta-window-wayland.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
---
diff --git a/src/wayland/meta-window-wayland.c b/src/wayland/meta-window-wayland.c
index 7c8bcff42..a83cd163c 100644
--- a/src/wayland/meta-window-wayland.c
+++ b/src/wayland/meta-window-wayland.c
@@ -798,12 +798,14 @@ meta_window_wayland_finish_move_resize (MetaWindow *window,
MetaWaylandSurfaceState *pending)
{
MetaWindowWayland *wl_window = META_WINDOW_WAYLAND (window);
+ MetaDisplay *display = window->display;
int dx, dy;
int geometry_scale;
int gravity;
MetaRectangle rect;
MetaMoveResizeFlags flags;
MetaWaylandWindowConfiguration *acked_configuration;
+ gboolean is_window_being_resized;
/* new_geom is in the logical pixel coordinate space, but MetaWindow wants its
* rects to represent what in turn will end up on the stage, i.e. we need to
@@ -830,7 +832,10 @@ meta_window_wayland_finish_move_resize (MetaWindow *window,
acked_configuration = acquire_acked_configuration (wl_window, pending);
/* x/y are ignored when we're doing interactive resizing */
- if (!meta_grab_op_is_resizing (window->display->grab_op))
+ is_window_being_resized = (meta_grab_op_is_resizing (display->grab_op) &&
+ display->grab_window == window);
+
+ if (!is_window_being_resized)
{
if (acked_configuration)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]