IDEA-139223 IDEA-138359 diff: better detection of modality state

IdeFocusManager.isFocusBeingTransferred() could be true at this moment
This commit is contained in:
Aleksey Pivovarov
2015-04-16 16:46:39 +03:00
parent b94b1cdf08
commit 2c0720b2c8
@@ -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;