diff --git a/platform/platform-impl/src/com/intellij/ide/plugins/PluginHeaderPanel.java b/platform/platform-impl/src/com/intellij/ide/plugins/PluginHeaderPanel.java index 6a79239342b2..3671b6e7fc82 100644 --- a/platform/platform-impl/src/com/intellij/ide/plugins/PluginHeaderPanel.java +++ b/platform/platform-impl/src/com/intellij/ide/plugins/PluginHeaderPanel.java @@ -18,7 +18,7 @@ package com.intellij.ide.plugins; import com.intellij.icons.AllIcons; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.ApplicationNamesInfo; -import com.intellij.openapi.application.TransactionGuard; +import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.options.newEditor.SettingsDialog; import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.ui.GraphicsConfig; @@ -292,13 +292,13 @@ public class PluginHeaderPanel { if (dialog != null && dialog.isModal()) { dialog.close(DialogWrapper.OK_EXIT_CODE); } - TransactionGuard.getInstance().submitTransactionLater(ApplicationManager.getApplication(), () -> { + IdeFocusManager.getGlobalInstance().doWhenFocusSettlesDown(() -> { DialogWrapper settings = DialogWrapper.findInstance(IdeFocusManager.findInstance().getFocusOwner()); if (settings instanceof SettingsDialog) { ((SettingsDialog)settings).doOKAction(); } ApplicationManager.getApplication().restart(); - }); + }, ModalityState.current()); break; } setPlugin(myPlugin);