summaryrefslogtreecommitdiff
path: root/platform/platform-impl/src/com/intellij/openapi/project/DumbServiceImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/platform-impl/src/com/intellij/openapi/project/DumbServiceImpl.java')
-rw-r--r--platform/platform-impl/src/com/intellij/openapi/project/DumbServiceImpl.java22
1 files changed, 12 insertions, 10 deletions
diff --git a/platform/platform-impl/src/com/intellij/openapi/project/DumbServiceImpl.java b/platform/platform-impl/src/com/intellij/openapi/project/DumbServiceImpl.java
index a20df87718cc..308edb2d81a6 100644
--- a/platform/platform-impl/src/com/intellij/openapi/project/DumbServiceImpl.java
+++ b/platform/platform-impl/src/com/intellij/openapi/project/DumbServiceImpl.java
@@ -392,7 +392,7 @@ public class DumbServiceImpl extends DumbService implements Disposable {
}
private class AppIconProgress extends ProgressIndicatorBase {
- double lastFraction;
+ private double lastFraction;
@Override
public void setFraction(final double fraction) {
@@ -408,16 +408,18 @@ public class DumbServiceImpl extends DumbService implements Disposable {
@Override
public void finish(@NotNull TaskInfo task) {
- UIUtil.invokeLaterIfNeeded(new Runnable() {
- @Override
- public void run() {
- AppIcon appIcon = AppIcon.getInstance();
- if (appIcon.hideProgress(myProject, "indexUpdate")) {
- appIcon.requestAttention(myProject, false);
- appIcon.setOkBadge(myProject, true);
+ if (lastFraction != 0) { // we should call setProgress at least once before
+ UIUtil.invokeLaterIfNeeded(new Runnable() {
+ @Override
+ public void run() {
+ AppIcon appIcon = AppIcon.getInstance();
+ if (appIcon.hideProgress(myProject, "indexUpdate")) {
+ appIcon.requestAttention(myProject, false);
+ appIcon.setOkBadge(myProject, true);
+ }
}
- }
- });
+ });
+ }
}
}
}