520cea9394
Hiding a child implies a parent reallocation, and IconGrid does it for the children that doesn't fit in the available space, but this could lead to an allocation recursion cycle. This has been introduced by commit 0e0574a0 to reduce CPU usage not to using JS vfuncs. To avoid this, toggle the children opacity instead so that we can achieve the same visibility result, without any reallocation need. In this way we also fix the case where hidden children can be shown again, as _getVisibleChildren doesn't filter-out transparent ones, restoring the pre-commit 0e0574a0 behavior. Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/1336 https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/559