3155d03d9e
Since the FolderViews are not connected to the "installed-changed" signal, we need to reload their apps by calling _redisplay() when an app is removed or installed. We can't connect to "installed-changed" inside FolderView because we need to ensure _redisplay() of the FolderView is called before AppView tries to access the apps of the folder inside _refilterApps(). So reload the FolderViews inside AllViews _redisplay() implementation to ensure everything is up to date before accessing the apps of the folder. Since the "apps-changed" signal of FolderIcon now indirectly triggers a _redisplay() of the FolderViews, the 'changed' handler of FolderView is now redundant and can be removed. Because of this, we also need to move the emission of the "apps-changed" signal to the start of the signal handler to make sure the view is updated before we try to access items of the view. Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/1901 https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1011