schedule update overflow action due to reflow (#64634)

* schedule update overflow action due to reflow
fixes #64514

* removed disposal
This commit is contained in:
SteVen Batten
2018-12-07 13:56:55 -08:00
committed by GitHub
parent fa66e42134
commit fee735ed37

View File

@@ -80,6 +80,7 @@ export class MenuBar extends Disposable {
private numMenusShown: number;
private menuStyle: IMenuStyles;
private overflowLayoutScheduled: IDisposable;
constructor(private container: HTMLElement, private options: IMenuBarOptions = {}) {
super();
@@ -375,6 +376,8 @@ export class MenuBar extends Disposable {
DOM.removeNode(this.overflowMenu.titleElement);
DOM.removeNode(this.overflowMenu.buttonElement);
this.overflowLayoutScheduled = dispose(this.overflowLayoutScheduled);
}
blur(): void {
@@ -490,7 +493,12 @@ export class MenuBar extends Disposable {
this.updateLabels(menuBarMenu.titleElement, menuBarMenu.buttonElement, menuBarMenu.label);
});
this.updateOverflowAction();
if (!this.overflowLayoutScheduled) {
this.overflowLayoutScheduled = DOM.scheduleAtNextAnimationFrame(() => {
this.updateOverflowAction();
this.overflowLayoutScheduled = void 0;
});
}
this.setUnfocusedState();
}