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:
parent
8931b8026e
commit
c90765370d
@ -211,6 +211,7 @@ struct _MetaDisplay
|
|||||||
GList* grab_old_window_stacking;
|
GList* grab_old_window_stacking;
|
||||||
MetaEdgeResistanceData *grab_edge_resistance_data;
|
MetaEdgeResistanceData *grab_edge_resistance_data;
|
||||||
unsigned int grab_last_user_action_was_snap;
|
unsigned int grab_last_user_action_was_snap;
|
||||||
|
guint32 grab_timestamp;
|
||||||
|
|
||||||
/* we use property updates as sentinels for certain window focus events
|
/* we use property updates as sentinels for certain window focus events
|
||||||
* to avoid some race conditions on EnterNotify events
|
* to avoid some race conditions on EnterNotify events
|
||||||
|
@ -3873,6 +3873,7 @@ meta_display_begin_grab_op (MetaDisplay *display,
|
|||||||
#endif
|
#endif
|
||||||
display->grab_frame_action = frame_action;
|
display->grab_frame_action = frame_action;
|
||||||
display->grab_resize_unmaximize = 0;
|
display->grab_resize_unmaximize = 0;
|
||||||
|
display->grab_timestamp = timestamp;
|
||||||
|
|
||||||
if (display->grab_resize_timeout_id)
|
if (display->grab_resize_timeout_id)
|
||||||
{
|
{
|
||||||
@ -4058,6 +4059,7 @@ meta_display_end_grab_op (MetaDisplay *display,
|
|||||||
}
|
}
|
||||||
#endif /* HAVE_XSYNC */
|
#endif /* HAVE_XSYNC */
|
||||||
|
|
||||||
|
display->grab_timestamp = 0;
|
||||||
display->grab_window = NULL;
|
display->grab_window = NULL;
|
||||||
display->grab_screen = NULL;
|
display->grab_screen = NULL;
|
||||||
display->grab_xwindow = None;
|
display->grab_xwindow = None;
|
||||||
|
@ -9866,15 +9866,12 @@ meta_window_update_keyboard_resize (MetaWindow *window,
|
|||||||
|
|
||||||
if (update_cursor)
|
if (update_cursor)
|
||||||
{
|
{
|
||||||
guint32 timestamp;
|
|
||||||
/* FIXME: Using CurrentTime is really bad mojo */
|
|
||||||
timestamp = CurrentTime;
|
|
||||||
meta_display_set_grab_op_cursor (window->display,
|
meta_display_set_grab_op_cursor (window->display,
|
||||||
NULL,
|
NULL,
|
||||||
window->display->grab_op,
|
window->display->grab_op,
|
||||||
TRUE,
|
TRUE,
|
||||||
window->display->grab_xwindow,
|
window->display->grab_xwindow,
|
||||||
timestamp);
|
window->display->grab_timestamp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user