diff options
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.java | 22 |
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); + } } - } - }); + }); + } } } } |