[mutter] wayland/pointer-constraints: Move window-unmanaging check
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] wayland/pointer-constraints: Move window-unmanaging check
- Date: Thu, 15 Sep 2016 02:32:41 +0000 (UTC)
commit 32276cf418210923001114b41de8fe690af0b03a
Author: Jonas Ådahl <jadahl gmail com>
Date: Tue Sep 13 13:23:52 2016 +0800
wayland/pointer-constraints: Move window-unmanaging check
We should never enable a pointer constraint for an unmanaging window.
https://bugzilla.gnome.org/show_bug.cgi?id=771345
src/wayland/meta-wayland-pointer-constraints.c | 12 +++++++-----
1 files changed, 7 insertions(+), 5 deletions(-)
---
diff --git a/src/wayland/meta-wayland-pointer-constraints.c b/src/wayland/meta-wayland-pointer-constraints.c
index 853a811..6d99c73 100644
--- a/src/wayland/meta-wayland-pointer-constraints.c
+++ b/src/wayland/meta-wayland-pointer-constraints.c
@@ -131,9 +131,6 @@ appears_focused_changed (MetaWindow *window,
meta_wayland_pointer_constraint_maybe_remove_for_seat (wayland_compositor->seat,
window);
- if (window->unmanaging)
- return;
-
meta_wayland_pointer_constraint_maybe_enable_for_window (window);
}
@@ -444,6 +441,7 @@ is_within_constraint_region (MetaWaylandPointerConstraint *constraint,
static void
meta_wayland_pointer_constraint_maybe_enable (MetaWaylandPointerConstraint *constraint)
{
+ MetaWindow *window;
wl_fixed_t sx, sy;
if (constraint->is_enabled)
@@ -452,7 +450,8 @@ meta_wayland_pointer_constraint_maybe_enable (MetaWaylandPointerConstraint *cons
if (constraint->seat->pointer->focus_surface != constraint->surface)
return;
- if (!constraint->surface->window)
+ window = constraint->surface->window;
+ if (!window)
{
/*
* Locks from Xwayland may come before we have had the opportunity to
@@ -462,6 +461,9 @@ meta_wayland_pointer_constraint_maybe_enable (MetaWaylandPointerConstraint *cons
return;
}
+ if (window->unmanaging)
+ return;
+
if (meta_xwayland_is_xwayland_surface (constraint->surface))
{
MetaDisplay *display = meta_get_display ();
@@ -486,7 +488,7 @@ meta_wayland_pointer_constraint_maybe_enable (MetaWaylandPointerConstraint *cons
}
else
{
- if (!meta_window_appears_focused (constraint->surface->window))
+ if (!meta_window_appears_focused (window))
return;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]