mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-11-24 14:33:59 +00:00
Follow-up 5c38995bd9
: don't destroy toolbar twice
The toolbar.destroy() call that was added in 5c38995bd9
was
needed to destroy the dummy toolbar when tearing down VE
before a surface had been intialized. But when tearing down
VE after the surface had been initialized (e.g. exiting using
the Read tab), we would do:
* setTimeout in tearDownToolbar()
** Set toolbar height to 0 and wait for transitionend
*** toolbar.destroy() once transition complete
* toolbar.destroy() in cancel()
This meant that we'd listen for a transitionend event
on an unattached element (because once the setTimeout runs,
the toolbar has already been destroyed by the second call),
which of course never fires, so we'd never resolve the
tearDownToolbar deferred and never finish tearing down VE.
Bug: T98388
Change-Id: I504f0cb0bf13643773fc98cb18b7b380cccb2f88
This commit is contained in:
parent
b990c427f2
commit
e644d33a8d
|
@ -419,10 +419,8 @@ ve.init.mw.ViewPageTarget.prototype.cancel = function ( trackMechanism ) {
|
|||
this.tearDownUnloadHandlers();
|
||||
// If we got as far as setting up the surface, tear that down
|
||||
promises.push( this.tearDownSurface() );
|
||||
}
|
||||
|
||||
// If a dummy toolbar was created, destroy it
|
||||
if ( this.toolbar ) {
|
||||
} else if ( this.toolbar ) {
|
||||
// If a dummy toolbar was created, destroy it
|
||||
this.toolbar.destroy();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue