diff --git a/platform/funcTests/project1/.idea/workspace.xml b/platform/funcTests/project1/.idea/workspace.xml
index 1467d13749fa..645d39a9b216 100644
--- a/platform/funcTests/project1/.idea/workspace.xml
+++ b/platform/funcTests/project1/.idea/workspace.xml
@@ -71,12 +71,34 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -96,7 +118,7 @@
-
+
@@ -111,8 +133,7 @@
-
-
+
@@ -121,6 +142,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -133,7 +210,8 @@
-
+
+
@@ -270,6 +348,7 @@
+
1312471902317
1312471902317
@@ -279,26 +358,27 @@
-
-
+
+
-
+
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
@@ -346,49 +426,37 @@
-
-
-
+
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
-
-
-
+
-
-
-
+
-
+
+
+
+
+
+
diff --git a/platform/funcTests/project1/module1.iml b/platform/funcTests/project1/module1.iml
index 6c72054637f5..28ec6c7fe4a4 100644
--- a/platform/funcTests/project1/module1.iml
+++ b/platform/funcTests/project1/module1.iml
@@ -1,5 +1,5 @@
-
+
diff --git a/platform/funcTests/project1/module1/scripts/navigation.ijs b/platform/funcTests/project1/module1/scripts/navigation.ijs
index b106e632af89..b4965f04b408 100644
--- a/platform/funcTests/project1/module1/scripts/navigation.ijs
+++ b/platform/funcTests/project1/module1/scripts/navigation.ijs
@@ -1,5 +1,5 @@
%action GotoClass
-PsiManager
-%%action SelectIn
-%%1\n
-%%call printFocus()
\ No newline at end of file
+PsiManager\n
+%action SelectIn
+1\n
+%call printFocus()
\ No newline at end of file
diff --git a/platform/platform-impl/src/com/intellij/ide/IdeEventQueue.java b/platform/platform-impl/src/com/intellij/ide/IdeEventQueue.java
index 60f30a96e503..6ce3f6066ce0 100644
--- a/platform/platform-impl/src/com/intellij/ide/IdeEventQueue.java
+++ b/platform/platform-impl/src/com/intellij/ide/IdeEventQueue.java
@@ -435,8 +435,9 @@ public class IdeEventQueue extends EventQueue {
enterSuspendModeIfNeeded(e);
}
+ myKeyboardBusy = (e instanceof KeyEvent) || peekEvent(KeyEvent.KEY_PRESSED) != null || peekEvent(KeyEvent.KEY_RELEASED) != null || peekEvent(KeyEvent.KEY_TYPED) != null;
+
if (e instanceof KeyEvent) {
- myKeyboardBusy = e.getID() != KeyEvent.KEY_RELEASED || ((KeyEvent)e).getModifiers() != 0;
if (e.getID() == KeyEvent.KEY_RELEASED && ((KeyEvent)e).getKeyCode() == KeyEvent.VK_SHIFT) {
myMouseEventDispatcher.resetHorScrollingTracker();
}
diff --git a/platform/platform-impl/src/com/intellij/openapi/ui/playback/PlaybackRunner.java b/platform/platform-impl/src/com/intellij/openapi/ui/playback/PlaybackRunner.java
index 80f7837386e6..648f878cad76 100644
--- a/platform/platform-impl/src/com/intellij/openapi/ui/playback/PlaybackRunner.java
+++ b/platform/platform-impl/src/com/intellij/openapi/ui/playback/PlaybackRunner.java
@@ -89,11 +89,13 @@ public class PlaybackRunner {
myActionCallback.setRejected();
return;
}
- cmd.execute(myCallback, myRobot, myUseDirectActionCall).doWhenDone(new Runnable() {
+ final ActionCallback cmdCallback = cmd.execute(myCallback, myRobot, myUseDirectActionCall);
+ cmdCallback.doWhenDone(new Runnable() {
public void run() {
if (cmd.canGoFurther()) {
executeFrom(cmdIndex + 1);
- } else {
+ }
+ else {
myActionCallback.setDone();
}
}
diff --git a/platform/platform-impl/src/com/intellij/openapi/ui/playback/commands/CallCommand.java b/platform/platform-impl/src/com/intellij/openapi/ui/playback/commands/CallCommand.java
index 2497a37c3c6b..e54524cf5aba 100644
--- a/platform/platform-impl/src/com/intellij/openapi/ui/playback/commands/CallCommand.java
+++ b/platform/platform-impl/src/com/intellij/openapi/ui/playback/commands/CallCommand.java
@@ -42,7 +42,7 @@ public class CallCommand extends AbstractCommand {
@Override
protected ActionCallback _execute(final PlaybackRunner.StatusCallback cb, Robot robot, boolean directActionCall) {
- final ActionCallback.Done cmdResult = new ActionCallback.Done();
+ final ActionCallback cmdResult = new ActionCallback();
final String cmd = getText().substring(PREFIX.length()).trim();
final int open = cmd.indexOf("(");
diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/FocusManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/FocusManagerImpl.java
index 35ffa8010580..75216854e92d 100644
--- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/FocusManagerImpl.java
+++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/FocusManagerImpl.java
@@ -453,7 +453,7 @@ public class FocusManagerImpl extends IdeFocusManager implements Disposable {
if (prev == null) continue;
if (prev.getID() == KeyEvent.KEY_PRESSED) {
- if (prev.getKeyCode() == each.getKeyCode()) {
+ if (prev.getKeyCode() == each.getKeyCode() || prev.getKeyChar() == each.getKeyChar()) {
toDispatch = true;
events[i] = null;
break;