diff --git a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java index cd634ec99ef5..dcf34687503e 100644 --- a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java @@ -724,6 +724,10 @@ public class ApplicationImpl extends ComponentManagerImpl implements Application } public void exit(final boolean force) { + exit(force, true); + } + + public void exit(final boolean force, final boolean allowListenersToCancel) { if (!force && getDefaultModalityState() != ModalityState.NON_MODAL) { return; } @@ -744,7 +748,7 @@ public class ApplicationImpl extends ComponentManagerImpl implements Application saveSettings(); - if (!canExit()) { + if (!canExit() && allowListenersToCancel) { myExitCode = 0; return; }