private boolean myIsFiringLoadingEvent = false;
@NonNls private static final String WAS_EVER_SHOWN = "was.ever.shown";
- private boolean myActive = true;
+ private Boolean myActive;
protected void boostrapPicoContainer() {
super.boostrapPicoContainer();
if (frame instanceof IdeFrame) {
final IdeFrame ideFrame = (IdeFrame)frame;
- if (myActive != active) {
- myActive = active;
+ if (isActive() != active) {
+ myActive = Boolean.valueOf(active);
System.setProperty("idea.active", Boolean.valueOf(myActive).toString());
if (active) {
myDispatcher.getMulticaster().applicationActivated(ideFrame);
}
public boolean isActive() {
+ if (isUnitTestMode()) return true;
+
+ if (myActive == null) {
+ Window active = KeyboardFocusManager.getCurrentKeyboardFocusManager().getActiveWindow();
+ return active != null;
+ }
+
return myActive;
}