You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.3 KiB
43 lines
1.3 KiB
From 887537360c3c3b0ae5d0ef0222fad4d0a3bc41c9 Mon Sep 17 00:00:00 2001 |
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org> |
|
Date: Thu, 21 Jul 2016 15:43:12 +0200 |
|
Subject: [PATCH 5/8] events: Don't move (sloppy) focus while buttons are |
|
pressed |
|
|
|
(https://bugzilla.redhat.com/show_bug.cgi?id=1358535) |
|
--- |
|
src/x11/events.c | 11 +++++++++++ |
|
1 file changed, 11 insertions(+) |
|
|
|
diff --git a/src/x11/events.c b/src/x11/events.c |
|
index 49f2569f3..ecb4de53d 100644 |
|
--- a/src/x11/events.c |
|
+++ b/src/x11/events.c |
|
@@ -830,6 +830,16 @@ crossing_serial_is_ignored (MetaDisplay *display, |
|
return FALSE; |
|
} |
|
|
|
+static gboolean |
|
+event_has_button_mask (XIEnterEvent *enter_event) |
|
+{ |
|
+ int i; |
|
+ for (i = 0; i < enter_event->buttons.mask_len; i++) |
|
+ if (enter_event->buttons.mask[i] != '\0') |
|
+ return TRUE; |
|
+ return FALSE; |
|
+} |
|
+ |
|
static gboolean |
|
handle_input_xevent (MetaDisplay *display, |
|
XIEvent *input_event, |
|
@@ -871,6 +881,7 @@ handle_input_xevent (MetaDisplay *display, |
|
* avoid races. |
|
*/ |
|
if (window && !crossing_serial_is_ignored (display, serial) && |
|
+ !event_has_button_mask (enter_event) && |
|
enter_event->mode != XINotifyGrab && |
|
enter_event->mode != XINotifyUngrab && |
|
enter_event->detail != XINotifyInferior && |
|
-- |
|
2.14.2 |
|
|
|
|