From 5f0fdf27c76c3a6872a659502ec380af43d03691 Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Wed, 15 Aug 2012 03:23:15 +0400 Subject: [PATCH] IDEA-90176 Edit RegExp fragment intention doesn't move focus to new editor --- .../openapi/fileEditor/impl/EditorWindow.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorWindow.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorWindow.java index 81d51d770538..30acea0512ec 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorWindow.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorWindow.java @@ -534,10 +534,16 @@ public class EditorWindow { addFocusListener(new FocusAdapter() { @Override public void focusGained(FocusEvent e) { - final JComponent focus = myEditor.getSelectedEditorWithProvider().getFirst().getPreferredFocusedComponent(); - if (focus != null) { - IdeFocusManager.getGlobalInstance().requestFocus(focus, true); - } + ApplicationManager.getApplication().invokeLater(new Runnable() { + @Override + public void run() { + if (!TComp.this.hasFocus()) return; + final JComponent focus = myEditor.getSelectedEditorWithProvider().getFirst().getPreferredFocusedComponent(); + if (focus != null && !focus.hasFocus()) { + IdeFocusManager.getGlobalInstance().requestFocus(focus, true); + } + } + }); } }); } @@ -728,7 +734,7 @@ public class EditorWindow { } final VirtualFile nextFile = virtualFile == null ? file : virtualFile; - final FileEditor[] editors = fileEditorManager.openFileImpl3(res, nextFile, false, null, true).first; + final FileEditor[] editors = fileEditorManager.openFileImpl3(res, nextFile, focusNew, null, true).first; syncCaretIfPossible(editors); res.setFilePinned (nextFile, isFilePinned (file)); if (!focusNew) {