[gtk/wip/carlosg/for-master] gtk/main: Reset active state on grab broken only if implicit
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/carlosg/for-master] gtk/main: Reset active state on grab broken only if implicit
- Date: Sat, 14 Nov 2020 09:54:36 +0000 (UTC)
commit 5b4ac5456eb18405140033668e19e24f91f36543
Author: Carlos Garnacho <carlosg gnome org>
Date: Sat Nov 14 10:48:04 2020 +0100
gtk/main: Reset active state on grab broken only if implicit
An implicit grab means some button is down, reset the active state
only in that case when we get a grab broken event.
Avoids active state accounting warnings when we do get active grabs
broken (e.g. after selecting a menu option).
gtk/gtkmain.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index 72941e8620..6f7ca2337c 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -1506,10 +1506,13 @@ handle_pointing_event (GdkEvent *event)
case GDK_TOUCHPAD_SWIPE:
break;
case GDK_GRAB_BROKEN:
- target = gtk_window_lookup_effective_pointer_focus_widget (toplevel,
- device,
- sequence);
- set_widget_active_state (target, TRUE);
+ if (gdk_grab_broken_event_get_implicit (event))
+ {
+ target = gtk_window_lookup_effective_pointer_focus_widget (toplevel,
+ device,
+ sequence);
+ set_widget_active_state (target, TRUE);
+ }
break;
default:
g_assert_not_reached ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]