dash: Fixes wrong separator position

Sometimes when an icon is dragged and dropped in Dash, one Favourite app icon
can appear to the right of Dash separator. This can happen when available system
resources are low and the PlaceHolder destroy animation is delayed and the
corresponding container child is still present. With this commit the separator
position is calculated correctly, even when the animation is pending.

Fixes #3966, #3799

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1804>
This commit is contained in:
Raghuveer Kasaraneni 2021-04-12 12:56:28 +02:00 committed by Marge Bot
parent b90a6d6b14
commit 07579f05f6

View File

@ -807,7 +807,7 @@ var Dash = GObject.registerClass({
}); });
this._box.add_child(this._separator); this._box.add_child(this._separator);
} }
let pos = nFavorites; let pos = nFavorites + this._animatingPlaceholdersCount;
if (this._dragPlaceholder) if (this._dragPlaceholder)
pos++; pos++;
this._box.set_child_at_index(this._separator, pos); this._box.set_child_at_index(this._separator, pos);