[gtk/matthiasc/for-master: 1/4] Send focus events always to the root
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/matthiasc/for-master: 1/4] Send focus events always to the root
- Date: Fri, 9 Oct 2020 03:13:42 +0000 (UTC)
commit 1f4b7620ef43393f5508c54112fa970ffd7ebb0a
Author: Matthias Clasen <mclasen redhat com>
Date: Thu Oct 8 23:06:07 2020 -0400
Send focus events always to the root
That is the only place where we are listening
for focus change events, and we need GtkWindow
to also see focus in events for its popovers,
otherwise, we end up with inadvertendly inactive
windows.
Fixes: #3240
gtk/gtkmain.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index 10780b7684..bffb4cfa94 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -1648,8 +1648,11 @@ gtk_main_do_event (GdkEvent *event)
break;
case GDK_FOCUS_CHANGE:
- if (!_gtk_widget_captured_event (target_widget, event, target_widget))
- gtk_widget_event (target_widget, event, target_widget);
+ {
+ GtkWidget *root = GTK_WIDGET (gtk_widget_get_root (target_widget));
+ if (!_gtk_widget_captured_event (root, event, root))
+ gtk_widget_event (root, event, root);
+ }
break;
case GDK_KEY_PRESS:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]