window: Don't mark widget prematurely as has-focus

has-focus is defined is-focus && toplevel::is-active.
We were forgetting to look at is_active when handling
focus widget changes.
This commit is contained in:
Matthias Clasen
2023-04-15 14:58:57 +02:00
parent 60f3cc398a
commit d90cb02570

View File

@@ -2023,7 +2023,7 @@ gtk_window_root_set_focus (GtkRoot *root,
synthesize_focus_change_events (self, old_focus, focus, GTK_CROSSING_FOCUS);
if (focus)
gtk_widget_set_has_focus (focus, TRUE);
gtk_widget_set_has_focus (focus, priv->is_active);
g_set_object (&priv->focus_widget, focus);