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 0a82e3e22f2f..cd1b9391fb98 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 @@ -231,10 +231,13 @@ public class ApplicationImpl extends ComponentManagerImpl implements Application Disposer.dispose(this); if (isInternal() && !Disposer.isEmpty()) { - try { - Class.forName("com.intellij.util.ProfilingUtil").getDeclaredMethod("forceCaptureMemorySnapshot").invoke(null); - } - catch (Exception ignored) { + int ret = Messages.showOkCancelDialog("Memory leaks detected. Create memory snapshot?", "Memory leaks", Messages.getErrorIcon()); + if (ret == 0) { + try { + Class.forName("com.intellij.util.ProfilingUtil").getDeclaredMethod("forceCaptureMemorySnapshot").invoke(null); + } + catch (Exception ignored) { + } } } Disposer.assertIsEmpty();