diff --git a/platform/platform-api/src/com/intellij/openapi/ui/DialogWrapper.java b/platform/platform-api/src/com/intellij/openapi/ui/DialogWrapper.java index c8fcc1fd43f8..7aad00628c16 100644 --- a/platform/platform-api/src/com/intellij/openapi/ui/DialogWrapper.java +++ b/platform/platform-api/src/com/intellij/openapi/ui/DialogWrapper.java @@ -1504,12 +1504,14 @@ public abstract class DialogWrapper { Disposer.register(uiParent, myDisposable); // ensure everything is disposed on app quit } - myPeer.show().doWhenProcessed(new Runnable() { + Disposer.register(myDisposable, new Disposable() { @Override - public void run() { + public void dispose() { result.setDone(isOK()); } }); + + myPeer.show(); return result; }