if (project != null && !project.isDisposed()) {
final IdeFocusManager focusManager = IdeFocusManager.getInstance(project);
- focusManager.requestFocus(new FocusCommand() {
- public ActionCallback run() {
- _restoreFocus();
- return new ActionCallback.Done();
- }
-
- public String toString() {
- return "focus trackback";
- }
- }, false).doWhenProcessed(new Runnable() {
+ focusManager.requestFocus(new MyFocusCommand(), false).doWhenProcessed(new Runnable() {
public void run() {
dispose();
}
}
+ private class MyFocusCommand extends FocusCommand {
+ public ActionCallback run() {
+ _restoreFocus();
+ return new ActionCallback.Done();
+ }
+
+ @Override
+ public boolean isExpired() {
+ return isConsumed();
+ }
+
+ public String toString() {
+ return "focus trackback";
+ }
+ }
}
\ No newline at end of file