listbase: Use set_focus_child properly
authorCorey Berla <corey@berla.me>
Mon, 24 Oct 2022 22:53:29 +0000 (15:53 -0700)
committerCorey Berla <corey@berla.me>
Wed, 14 Dec 2022 17:56:57 +0000 (07:56 -1000)
commit93e591fdf13065decc252a54b65b83c5e6f0075f
treec72416b93262e60145fb03b1ecb435895383c098
parent7081bfc614809649be7e460e21f4ef27886ab9e5
listbase: Use set_focus_child properly

The EventControllerFocus on the list item, updates the list base focus
tracker and scrolled to position any time the list item enters focus.
This works when interacting within a single window, but has unexpected
results when changing focus between multiple windows.

Instead of using the focus controller workaround, just make
gtk_list_base_update_focus_tracker the set_focus_child vfunc

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/5433
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/5432
gtk/gtklistbase.c
gtk/gtklistitemwidget.c