mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 895359 - Pass draggedSite to updateGrid() to avoid intermittent Windows failures r=jaws
This commit is contained in:
parent
26fa7c366b
commit
96395cf93d
@ -57,7 +57,7 @@ let gDrop = {
|
|||||||
this._cancelDelayedArrange();
|
this._cancelDelayedArrange();
|
||||||
|
|
||||||
// Update the grid and move all sites to their new places.
|
// Update the grid and move all sites to their new places.
|
||||||
gUpdater.updateGrid();
|
gUpdater.updateGrid(gDrag.draggedSite);
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -145,6 +145,6 @@ let gDrop = {
|
|||||||
if (aCell)
|
if (aCell)
|
||||||
sites = gDropPreview.rearrange(aCell);
|
sites = gDropPreview.rearrange(aCell);
|
||||||
|
|
||||||
gTransformation.rearrangeSites(sites, {unfreeze: !aCell});
|
gTransformation.rearrangeSites(sites, gDrag.draggedSite, {unfreeze: !aCell});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -137,10 +137,11 @@ let gTransformation = {
|
|||||||
* Rearranges a given array of sites and moves them to their new positions or
|
* Rearranges a given array of sites and moves them to their new positions or
|
||||||
* fades in/out new/removed sites.
|
* fades in/out new/removed sites.
|
||||||
* @param aSites An array of sites to rearrange.
|
* @param aSites An array of sites to rearrange.
|
||||||
|
* @param aDraggedSite The currently dragged site, may be null.
|
||||||
* @param aOptions Set of options (see below).
|
* @param aOptions Set of options (see below).
|
||||||
* unfreeze - unfreeze the site after rearranging
|
* unfreeze - unfreeze the site after rearranging
|
||||||
*/
|
*/
|
||||||
rearrangeSites: function (aSites, aOptions) {
|
rearrangeSites: function (aSites, aDraggedSite, aOptions) {
|
||||||
let self = this;
|
let self = this;
|
||||||
let cells = gGrid.cells;
|
let cells = gGrid.cells;
|
||||||
let unfreeze = aOptions && aOptions.unfreeze;
|
let unfreeze = aOptions && aOptions.unfreeze;
|
||||||
@ -149,7 +150,7 @@ let gTransformation = {
|
|||||||
let index = 0;
|
let index = 0;
|
||||||
|
|
||||||
for (let site of aSites) {
|
for (let site of aSites) {
|
||||||
if (site && site !== gDrag.draggedSite) {
|
if (site && site !== aDraggedSite) {
|
||||||
if (!cells[index]) {
|
if (!cells[index]) {
|
||||||
// The site disappeared from the grid, hide it.
|
// The site disappeared from the grid, hide it.
|
||||||
yield self.hideSite(site);
|
yield self.hideSite(site);
|
||||||
|
@ -13,7 +13,7 @@ let gUpdater = {
|
|||||||
* Updates the current grid according to its pinned and blocked sites.
|
* Updates the current grid according to its pinned and blocked sites.
|
||||||
* This removes old, moves existing and creates new sites to fill gaps.
|
* This removes old, moves existing and creates new sites to fill gaps.
|
||||||
*/
|
*/
|
||||||
updateGrid: function Updater_updateGrid() {
|
updateGrid: function Updater_updateGrid(draggedSite = null) {
|
||||||
let links = gLinks.getLinks().slice(0, gGrid.cells.length);
|
let links = gLinks.getLinks().slice(0, gGrid.cells.length);
|
||||||
|
|
||||||
// Find all sites that remain in the grid.
|
// Find all sites that remain in the grid.
|
||||||
@ -32,7 +32,8 @@ let gUpdater = {
|
|||||||
|
|
||||||
// Now it's time to animate the sites actually moving to their new
|
// Now it's time to animate the sites actually moving to their new
|
||||||
// positions.
|
// positions.
|
||||||
this._rearrangeSites(sites).then(() => {
|
let opts = {unfreeze: true};
|
||||||
|
gTransformation.rearrangeSites(sites, draggedSite, opts).then(() => {
|
||||||
// Try to fill empty cells and finish.
|
// Try to fill empty cells and finish.
|
||||||
this._fillEmptyCells(links);
|
this._fillEmptyCells(links);
|
||||||
|
|
||||||
@ -106,14 +107,6 @@ let gUpdater = {
|
|||||||
}, this);
|
}, this);
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
|
||||||
* Rearranges the given sites and slides them to their new positions.
|
|
||||||
* @param aSites The array of sites to re-arrange.
|
|
||||||
*/
|
|
||||||
_rearrangeSites: function (aSites) {
|
|
||||||
return gTransformation.rearrangeSites(aSites, {unfreeze: true});
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes all sites from the grid that are not in the given links array or
|
* Removes all sites from the grid that are not in the given links array or
|
||||||
* exceed the grid.
|
* exceed the grid.
|
||||||
|
Loading…
Reference in New Issue
Block a user