window: don't process unrelated release events

When processing button events related to moving/resizing the window,
only the first button should be considered.

https://bugzilla.gnome.org/show_bug.cgi?id=704759
This commit is contained in:
Lionel Landwerlin 2013-07-23 17:42:22 +01:00
parent c3f28b9cdb
commit 1fa56bd7e0

View File

@ -10075,13 +10075,16 @@ meta_window_handle_mouse_grab_op_event (MetaWindow *window,
switch (xev->evtype)
{
case XI_ButtonRelease:
if (xev->detail == 1)
{
meta_display_check_threshold_reached (window->display,
xev->root_x,
xev->root_y);
/* If the user was snap moving then ignore the button release
* because they may have let go of shift before releasing the
* mouse button and they almost certainly do not want a
* non-snapped movement to occur from the button release.
/* If the user was snap moving then ignore the button
* release because they may have let go of shift before
* releasing the mouse button and they almost certainly do
* not want a non-snapped movement to occur from the button
* release.
*/
if (!window->display->grab_last_user_action_was_snap)
{
@ -10114,8 +10117,8 @@ meta_window_handle_mouse_grab_op_event (MetaWindow *window,
update_tile_mode (window);
}
}
meta_display_end_grab_op (window->display, xev->time);
}
break;
case XI_Motion: