From 2c0720b2c8a43dddb1040391c82d0de45affefc8 Mon Sep 17 00:00:00 2001 From: Aleksey Pivovarov Date: Thu, 16 Apr 2015 16:26:18 +0300 Subject: [PATCH] IDEA-139223 IDEA-138359 diff: better detection of modality state IdeFocusManager.isFocusBeingTransferred() could be true at this moment --- platform/diff-impl/src/com/intellij/diff/util/DiffUtil.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/platform/diff-impl/src/com/intellij/diff/util/DiffUtil.java b/platform/diff-impl/src/com/intellij/diff/util/DiffUtil.java index d1df97e088b3..94f5cf25985d 100644 --- a/platform/diff-impl/src/com/intellij/diff/util/DiffUtil.java +++ b/platform/diff-impl/src/com/intellij/diff/util/DiffUtil.java @@ -37,6 +37,7 @@ import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.DataProvider; import com.intellij.openapi.actionSystem.DefaultActionGroup; import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.application.impl.LaterInvocator; import com.intellij.openapi.command.CommandProcessor; import com.intellij.openapi.components.StoragePathMacros; import com.intellij.openapi.diagnostic.Logger; @@ -822,7 +823,7 @@ public class DiffUtil { public static WindowWrapper.Mode getWindowMode(@NotNull DiffDialogHints hints) { WindowWrapper.Mode mode = hints.getMode(); if (mode == null) { - boolean isUnderDialog = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusedWindow() instanceof JDialog; + boolean isUnderDialog = LaterInvocator.isInModalContext(); mode = isUnderDialog ? WindowWrapper.Mode.MODAL : WindowWrapper.Mode.FRAME; } return mode;