From de699140adde77e90a5ab3635e0907b6381c6b5f Mon Sep 17 00:00:00 2001 From: Rustam Vishnyakov Date: Fri, 22 Nov 2019 17:08:21 +0300 Subject: [PATCH] Correctly handle editor window state when the editor is opened from welcome screen GitOrigin-RevId: c8b2777ccf679941daa3f542acaf3f41900f6512 --- .../src/com/intellij/ide/lightEdit/LightEditService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/platform/platform-impl/src/com/intellij/ide/lightEdit/LightEditService.java b/platform/platform-impl/src/com/intellij/ide/lightEdit/LightEditService.java index 912f18075c1b..4c1b279709b6 100644 --- a/platform/platform-impl/src/com/intellij/ide/lightEdit/LightEditService.java +++ b/platform/platform-impl/src/com/intellij/ide/lightEdit/LightEditService.java @@ -26,7 +26,6 @@ public class LightEditService implements Disposable, LightEditorListener { public LightEditService() { myEditorManager = new LightEditorManager(); - Disposer.register(this, myEditorManager); myEditorManager.addListener(this); } @@ -38,6 +37,7 @@ public class LightEditService implements Disposable, LightEditorListener { .setOnCloseHandler(()->handleClose()) .build(); SplashManager.hideBeforeShow(myWrapper.getWindow()); + myWrapperIsStale = false; } } @@ -70,6 +70,7 @@ public class LightEditService implements Disposable, LightEditorListener { private boolean handleClose() { disposeEditorPanel(); myWrapperIsStale = true; + Disposer.dispose(myEditorManager); if (ProjectManager.getInstance().getOpenProjects().length == 0 && WelcomeFrame.getInstance() == null) { Disposer.dispose(myWrapper); try { @@ -96,6 +97,7 @@ public class LightEditService implements Disposable, LightEditorListener { if (myWrapper != null && !myWrapperIsStale) { disposeEditorPanel(); Disposer.dispose(myWrapper); + Disposer.dispose(myEditorManager); } }