mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-26 19:06:24 +07:00
fix IDEA not app-napping
1. stop activity after indicator is cancelled 2. don't start activities for delegate indicators
This commit is contained in:
+12
-1
@@ -45,6 +45,7 @@ public class AbstractProgressIndicatorBase extends UserDataHolderBase implements
|
||||
|
||||
private volatile boolean myIndeterminate;
|
||||
private volatile Object myMacActivity;
|
||||
private volatile boolean myShouldStartActivity = true;
|
||||
|
||||
private Stack<String> myTextStack;
|
||||
private DoubleArrayList myFractionStack;
|
||||
@@ -70,7 +71,7 @@ public class AbstractProgressIndicatorBase extends UserDataHolderBase implements
|
||||
myText = "";
|
||||
myFraction = 0;
|
||||
myText2 = "";
|
||||
myMacActivity = MacUtil.wakeUpNeo(toString());
|
||||
startSystemActivity();
|
||||
myRunning = true;
|
||||
}
|
||||
|
||||
@@ -85,6 +86,14 @@ public class AbstractProgressIndicatorBase extends UserDataHolderBase implements
|
||||
LOG.assertTrue(myRunning, "stop() should be called only if start() called before");
|
||||
myRunning = false;
|
||||
myFinished = true;
|
||||
stopSystemActivity();
|
||||
}
|
||||
|
||||
protected void startSystemActivity() {
|
||||
myMacActivity = myShouldStartActivity ? MacUtil.wakeUpNeo(toString()) : null;
|
||||
}
|
||||
|
||||
protected void stopSystemActivity() {
|
||||
MacUtil.matrixHasYou(myMacActivity);
|
||||
myMacActivity = null;
|
||||
}
|
||||
@@ -97,6 +106,7 @@ public class AbstractProgressIndicatorBase extends UserDataHolderBase implements
|
||||
@Override
|
||||
public void cancel() {
|
||||
myCanceled = true;
|
||||
stopSystemActivity();
|
||||
ProgressManager.canceled(this);
|
||||
}
|
||||
|
||||
@@ -246,6 +256,7 @@ public class AbstractProgressIndicatorBase extends UserDataHolderBase implements
|
||||
|
||||
myFractionStack = new DoubleArrayList(stacked.getFractionStack());
|
||||
}
|
||||
myShouldStartActivity = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -394,6 +394,7 @@ public class ProgressWindow extends ProgressIndicatorBase implements BlockingPro
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
stopSystemActivity();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user