[mutter] display: Call meta_window_grab_op_ended after everything else is reset
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] display: Call meta_window_grab_op_ended after everything else is reset
- Date: Thu, 17 Jul 2014 20:17:31 +0000 (UTC)
commit 679844f7915f38db2ffc7643c686d563c26c7feb
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Thu Jul 17 15:51:42 2014 -0400
display: Call meta_window_grab_op_ended after everything else is reset
This properly sends the resizing state to the correct Wayland surface.
src/core/display.c | 15 +++++++++------
1 files changed, 9 insertions(+), 6 deletions(-)
---
diff --git a/src/core/display.c b/src/core/display.c
index 3ddad20..3ded1d4 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -1863,18 +1863,19 @@ void
meta_display_end_grab_op (MetaDisplay *display,
guint32 timestamp)
{
+ MetaWindow *grab_window = display->grab_window;
+ MetaGrabOp grab_op = display->grab_op;
+
meta_topic (META_DEBUG_WINDOW_OPS,
- "Ending grab op %u at time %u\n", display->grab_op, timestamp);
+ "Ending grab op %u at time %u\n", grab_op, timestamp);
if (display->grab_op == META_GRAB_OP_NONE)
return;
g_signal_emit (display, display_signals[GRAB_OP_END], 0,
- display->screen, display->grab_window, display->grab_op);
-
- meta_window_grab_op_ended (display->grab_window, display->grab_op);
+ display->screen, grab_window, grab_op);
- if (meta_grab_op_is_moving_or_resizing (display->grab_op))
+ if (meta_grab_op_is_moving_or_resizing (grab_op))
{
/* Clear out the edge cache */
meta_display_cleanup_edges (display);
@@ -1900,7 +1901,7 @@ meta_display_end_grab_op (MetaDisplay *display,
{
meta_topic (META_DEBUG_WINDOW_OPS,
"Ungrabbing all keys timestamp %u\n", timestamp);
- meta_window_ungrab_all_keys (display->grab_window, timestamp);
+ meta_window_ungrab_all_keys (grab_window, timestamp);
}
display->grab_timestamp = 0;
@@ -1917,6 +1918,8 @@ meta_display_end_grab_op (MetaDisplay *display,
display->grab_resize_timeout_id = 0;
}
+ meta_window_grab_op_ended (grab_window, grab_op);
+
if (meta_is_wayland_compositor ())
meta_display_sync_wayland_input_focus (display);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]