[gtk/fix-focus-changes: 2/2] window: Don't focus invisible widgets




commit eaaf3bce12ad9d96c55a5f543dc62963c42e15c0
Author: Matthias Clasen <mclasen redhat com>
Date:   Mon Oct 17 15:10:51 2022 -0400

    window: Don't focus invisible widgets
    
    This was happening in some cases when popovers
    are dismissed by clicking outside, and it was
    causing us to miss proper focus updates that
    were already queued.

 gtk/gtkwindow.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index ff16a68104..20c42553fd 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -1999,7 +1999,7 @@ gtk_window_root_set_focus (GtkRoot   *root,
   GtkWindowPrivate *priv = gtk_window_get_instance_private (self);
   GtkWidget *old_focus = NULL;
 
-  if (focus && !gtk_widget_is_sensitive (focus))
+  if (focus && (!gtk_widget_is_sensitive (focus) || !gtk_widget_is_visible (focus)))
     return;
 
   if (focus == priv->focus_widget)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]