diff options
Diffstat (limited to 'platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorFactoryImpl.java')
-rw-r--r-- | platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorFactoryImpl.java | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorFactoryImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorFactoryImpl.java index ec0cef4e76d5..d0313e04cf9f 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorFactoryImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorFactoryImpl.java @@ -203,14 +203,17 @@ public class EditorFactoryImpl extends EditorFactory implements ApplicationCompo @Override public void releaseEditor(@NotNull Editor editor) { try { - ((EditorImpl)editor).release(); + myEditorFactoryEventDispatcher.getMulticaster().editorReleased(new EditorFactoryEvent(this, editor)); } finally { - myEditors.remove(editor); - myEditorFactoryEventDispatcher.getMulticaster().editorReleased(new EditorFactoryEvent(this, editor)); - - if (LOG.isDebugEnabled()) { - LOG.debug("number of Editor's:" + myEditors.size()); + try { + ((EditorImpl)editor).release(); + } + finally { + myEditors.remove(editor); + if (LOG.isDebugEnabled()) { + LOG.debug("number of Editor's:" + myEditors.size()); + } } } } |