From 861e040ea9b5dfd6fb920bded921fcaf6acb8e23 Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Thu, 9 Aug 2018 08:11:18 +0200 Subject: [PATCH] debt - do not check for canHandleResource right on startup (for #48275) --- src/vs/workbench/electron-browser/workbench.ts | 2 +- .../services/history/electron-browser/history.ts | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/vs/workbench/electron-browser/workbench.ts b/src/vs/workbench/electron-browser/workbench.ts index dae70324dbf..bfed9637ad6 100644 --- a/src/vs/workbench/electron-browser/workbench.ts +++ b/src/vs/workbench/electron-browser/workbench.ts @@ -1118,7 +1118,7 @@ export class Workbench extends Disposable implements IPartService { get onEditorLayout(): Event { return this.editorPart.onDidLayout; } isCreated(): boolean { - return this.workbenchCreated && this.workbenchStarted; + return !!(this.workbenchCreated && this.workbenchStarted); } hasFocus(part: Parts): boolean { diff --git a/src/vs/workbench/services/history/electron-browser/history.ts b/src/vs/workbench/services/history/electron-browser/history.ts index 0cb907bc631..bdf9ae0eee3 100644 --- a/src/vs/workbench/services/history/electron-browser/history.ts +++ b/src/vs/workbench/services/history/electron-browser/history.ts @@ -32,6 +32,7 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti import { ResourceGlobMatcher } from 'vs/workbench/electron-browser/resources'; import { Schemas } from 'vs/base/common/network'; import { EditorServiceImpl } from 'vs/workbench/browser/parts/editor/editor'; +import { IPartService } from 'vs/workbench/services/part/common/partService'; /** * Stores the selection & view state of an editor and allows to compare it to other selection states. @@ -132,6 +133,7 @@ export class HistoryService extends Disposable implements IHistoryService { @IFileService private fileService: IFileService, @IWindowsService private windowService: IWindowsService, @IInstantiationService private instantiationService: IInstantiationService, + @IPartService private partService: IPartService ) { super(); @@ -658,7 +660,12 @@ export class HistoryService extends Disposable implements IHistoryService { if (arg2 instanceof EditorInput) { const inputResource = arg2.getResource(); - return inputResource && this.fileService.canHandleResource(inputResource) && inputResource.toString() === resource.toString(); + let isSupportedFile = true; + if (this.partService.isCreated() && !this.fileService.canHandleResource(inputResource)) { + isSupportedFile = false; // make sure to only check this when workbench has started (for https://github.com/Microsoft/vscode/issues/48275) + } + + return inputResource && isSupportedFile && inputResource.toString() === resource.toString(); } const resourceInput = arg2 as IResourceInput; -- GitLab