From 99b53ca0171eb3658ce4b395101f4cbe514be56e Mon Sep 17 00:00:00 2001 From: Dmitry Batrak Date: Thu, 27 Jul 2017 20:11:07 +0300 Subject: [PATCH] proper closing events sending on editor opening in no-tabs mode --- .../intellij/openapi/fileEditor/impl/EditorWindow.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorWindow.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorWindow.java index 41fdcc2ccc28..77191e55b130 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorWindow.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorWindow.java @@ -1194,8 +1194,16 @@ public class EditorWindow { } public void clear() { + FileEditorManagerImpl manager = getManager(); + FileEditorManagerListener.Before beforePublisher = + manager.getProject().getMessageBus().syncPublisher(FileEditorManagerListener.Before.FILE_EDITOR_MANAGER); + FileEditorManagerListener afterPublisher = + manager.getProject().getMessageBus().syncPublisher(FileEditorManagerListener.FILE_EDITOR_MANAGER); for (EditorWithProviderComposite composite : getEditors()) { - Disposer.dispose(composite); + VirtualFile file = composite.getFile(); + beforePublisher.beforeFileClosed(manager, file); + manager.disposeComposite(composite); + afterPublisher.fileClosed(manager, file); } if (myTabbedPane == null) { myPanel.removeAll();