search: Exclude hidden results from keynav

Since commit 3fb02843, we no longer skip allocation for
results that don't fit the width, and give them a 0x0
allocation instead.

That has the unintended side effect of those children now
being available to keynav. There are cases where we want
0-sized actors to be part of the focus chain (e.g. FocusTrap),
but this isn't one of them, so explicitly exclude 0-sized
children from keynav.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4470

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1916>
This commit is contained in:
Florian Müllner 2021-07-15 18:48:34 +02:00
parent d265dabe03
commit 20d99c69cb

View File

@ -429,6 +429,7 @@ var GridSearchResultsLayout = GObject.registerClass({
childBox.set_size(0, 0); childBox.set_size(0, 0);
child.allocate(childBox); child.allocate(childBox);
child.can_focus = childBox.get_area() > 0;
childBox.x1 += childWidth; childBox.x1 += childWidth;
} }