mirror of
https://github.com/labwc/labwc.git
synced 2025-11-04 13:30:07 -05:00
cursor: Don't allow a DRAG action to start from a double-click
By moving the cursor slightly after the second press (but before the second release) it was possible to accidentally trigger both a DOUBLECLICK and a DRAG action. Doing this on the titlebar would cause the window to maximize and then immediately unmaximize, which feels very "glitchy". As a simple fix, don't allow a press event that is triggering a DOUBLECLICK to also trigger a DRAG (or CLICK) on the following release event. Note: Openbox avoids the issue by processing DOUBLECLICK on the second release event. If the cursor moves before that, the DRAG wins out and the DOUBLECLICK isn't processed.
This commit is contained in:
parent
ae43d4b9d1
commit
7f8b7f0a56
1 changed files with 7 additions and 1 deletions
|
|
@ -542,7 +542,13 @@ handle_press_mousebinding(struct view *view, struct server *server,
|
|||
switch (mousebind->mouse_event) {
|
||||
case MOUSE_ACTION_DRAG: /* FALLTHROUGH */
|
||||
case MOUSE_ACTION_CLICK:
|
||||
mousebind->pressed_in_context = true;
|
||||
/*
|
||||
* DRAG and CLICK actions will be processed on
|
||||
* the release event, unless the press event is
|
||||
* counted as a DOUBLECLICK.
|
||||
*/
|
||||
if (!double_click)
|
||||
mousebind->pressed_in_context = true;
|
||||
continue;
|
||||
case MOUSE_ACTION_DOUBLECLICK:
|
||||
if (!double_click)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue