window: Pass the grab timestamp when updating the resize grab

Since XChangeActivePointerGrab doesn't have a direct equivalent
in XI2, we need to make sure we don't re-grab with a newer
tiemstamp.
This commit is contained in:
Jasper St. Pierre 2012-12-13 17:06:00 -05:00
parent 8931b8026e
commit c90765370d
3 changed files with 4 additions and 4 deletions

View File

@ -211,6 +211,7 @@ struct _MetaDisplay
GList* grab_old_window_stacking;
MetaEdgeResistanceData *grab_edge_resistance_data;
unsigned int grab_last_user_action_was_snap;
guint32 grab_timestamp;
/* we use property updates as sentinels for certain window focus events
* to avoid some race conditions on EnterNotify events

View File

@ -3873,6 +3873,7 @@ meta_display_begin_grab_op (MetaDisplay *display,
#endif
display->grab_frame_action = frame_action;
display->grab_resize_unmaximize = 0;
display->grab_timestamp = timestamp;
if (display->grab_resize_timeout_id)
{
@ -4058,6 +4059,7 @@ meta_display_end_grab_op (MetaDisplay *display,
}
#endif /* HAVE_XSYNC */
display->grab_timestamp = 0;
display->grab_window = NULL;
display->grab_screen = NULL;
display->grab_xwindow = None;

View File

@ -9866,15 +9866,12 @@ meta_window_update_keyboard_resize (MetaWindow *window,
if (update_cursor)
{
guint32 timestamp;
/* FIXME: Using CurrentTime is really bad mojo */
timestamp = CurrentTime;
meta_display_set_grab_op_cursor (window->display,
NULL,
window->display->grab_op,
TRUE,
window->display->grab_xwindow,
timestamp);
window->display->grab_timestamp);
}
}