提交 4a939f1b 编写于 作者: S SteVen Batten

fixes #85392

上级 b601d964
...@@ -7,28 +7,34 @@ import { IMenubarService, IMenubarData } from 'vs/platform/menubar/node/menubar' ...@@ -7,28 +7,34 @@ import { IMenubarService, IMenubarData } from 'vs/platform/menubar/node/menubar'
import { Menubar } from 'vs/platform/menubar/electron-main/menubar'; import { Menubar } from 'vs/platform/menubar/electron-main/menubar';
import { ILogService } from 'vs/platform/log/common/log'; import { ILogService } from 'vs/platform/log/common/log';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { ILifecycleMainService, LifecycleMainPhase } from 'vs/platform/lifecycle/electron-main/lifecycleMainService';
export class MenubarMainService implements IMenubarService { export class MenubarMainService implements IMenubarService {
_serviceBrand: undefined; _serviceBrand: undefined;
private _menubar: Menubar; private _menubar: Menubar | undefined;
constructor( constructor(
@IInstantiationService private readonly instantiationService: IInstantiationService, @IInstantiationService private readonly instantiationService: IInstantiationService,
@ILifecycleMainService private readonly lifecycleMainService: ILifecycleMainService,
@ILogService private readonly logService: ILogService @ILogService private readonly logService: ILogService
) { ) {
// Install Menu // Install Menu
this._menubar = this.instantiationService.createInstance(Menubar); this.lifecycleMainService.when(LifecycleMainPhase.AfterWindowOpen).then(() => {
this._menubar = this.instantiationService.createInstance(Menubar);
});
} }
updateMenubar(windowId: number, menus: IMenubarData): Promise<void> { updateMenubar(windowId: number, menus: IMenubarData): Promise<void> {
this.logService.trace('menubarService#updateMenubar', windowId); return this.lifecycleMainService.when(LifecycleMainPhase.AfterWindowOpen).then(() => {
this.logService.trace('menubarService#updateMenubar', windowId);
if (this._menubar) { if (this._menubar) {
this._menubar.updateMenu(menus, windowId); this._menubar.updateMenu(menus, windowId);
} }
return Promise.resolve(undefined); return undefined;
});
} }
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册