diff options
author | Alex Dima <alexdima@microsoft.com> | 2016-02-17 13:00:07 +0300 |
---|---|---|
committer | Alex Dima <alexdima@microsoft.com> | 2016-02-17 13:00:07 +0300 |
commit | b8e7046b252d51682b068bd6ee2b11c2ba4fadf7 (patch) | |
tree | 280b2d5c2f5dad8c64231495b1f3894d12b59957 | |
parent | 149e7a0debf3e32f95978a606e00d3c09bcac3d6 (diff) |
Fixes #2829: Update window dirty state asynchronously
-rw-r--r-- | src/vs/workbench/parts/files/electron-browser/electronFileTracker.ts | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/vs/workbench/parts/files/electron-browser/electronFileTracker.ts b/src/vs/workbench/parts/files/electron-browser/electronFileTracker.ts index 3c11c78ba19..4fb13d75fb4 100644 --- a/src/vs/workbench/parts/files/electron-browser/electronFileTracker.ts +++ b/src/vs/workbench/parts/files/electron-browser/electronFileTracker.ts @@ -184,14 +184,16 @@ export class FileTracker implements IWorkbenchContribution { private updateDocumentEdited(): void { if (plat.platform === plat.Platform.Mac) { - let win = remote.getCurrentWindow(); - let isDirtyIndicated = win.isDocumentEdited(); - let hasDirtyFiles = this.textFileService.isDirty(); - this.isDocumentedEdited = hasDirtyFiles; - - if (hasDirtyFiles !== isDirtyIndicated) { - win.setDocumentEdited(hasDirtyFiles); - } + process.nextTick(() => { + let win = remote.getCurrentWindow(); + let isDirtyIndicated = win.isDocumentEdited(); + let hasDirtyFiles = this.textFileService.isDirty(); + this.isDocumentedEdited = hasDirtyFiles; + + if (hasDirtyFiles !== isDirtyIndicated) { + win.setDocumentEdited(hasDirtyFiles); + } + }); } } |