appDisplay: Don't reset adjustment on ::pages-changed

Let the goToPage call afterwards to take precedence, instead
of resetting the adjustment (thus the view) on the side.

This resulted in strange state when the last page contains
a single icon, and it is dragged. The last page being emptied
triggers a pages-changed signal, which half resets the view
to the first page while DnD is ongoing.

Letting goToPage do its business means we neatly clamp to the
closest page to currentPage, the last page in that case.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1630>
This commit is contained in:
Carlos Garnacho 2021-02-23 23:39:29 +01:00 committed by Marge Bot
parent ec223f31d9
commit 9b24d9c4c0

View File

@ -143,7 +143,6 @@ var BaseAppView = GObject.registerClass({
// Standard hack for ClutterBinLayout // Standard hack for ClutterBinLayout
this._grid.x_expand = true; this._grid.x_expand = true;
this._grid.connect('pages-changed', () => { this._grid.connect('pages-changed', () => {
this._adjustment.value = 0;
this.goToPage(this._grid.currentPage); this.goToPage(this._grid.currentPage);
this._pageIndicators.setNPages(this._grid.nPages); this._pageIndicators.setNPages(this._grid.nPages);
this._pageIndicators.setCurrentPosition(this._grid.currentPage); this._pageIndicators.setCurrentPosition(this._grid.currentPage);