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.
44 lines
1.3 KiB
44 lines
1.3 KiB
7 years ago
|
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
|
||
|
|