From cceb74706ace449e7485aadbd0e648da12dd8672 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Tue, 23 Jun 2020 12:18:56 -0300 Subject: [PATCH] appDisplay: Ensure icons always are at the correct position When redisplaying, we currently only remove and add icons, but never adjust the position of already added icons. If the icon position changed, it wouldn't be reflected on the icon grid. Make sure to move already added icons. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1284 --- js/ui/appDisplay.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js index eb9f228ca..546d509b0 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -333,10 +333,13 @@ var BaseAppView = GObject.registerClass({ icon.destroy(); }); - // Add new app icons - addedApps.forEach(icon => { - const [page, position] = this._getItemPosition(icon, newApps); - this._addItem(icon, page, position); + // Add new app icons, or move existing ones + newApps.forEach(icon => { + const [page, position] = this._getItemPosition(icon); + if (addedApps.includes(icon)) + this._addItem(icon, page, position); + else if (page !== -1 && position !== -1) + this._moveItem(icon, page, position); }); this._viewIsReady = true;