diff --git a/platform/core-impl/src/com/intellij/openapi/progress/util/AbstractProgressIndicatorBase.java b/platform/core-impl/src/com/intellij/openapi/progress/util/AbstractProgressIndicatorBase.java index 14ad73fd7c8a..3eaea6a916a8 100644 --- a/platform/core-impl/src/com/intellij/openapi/progress/util/AbstractProgressIndicatorBase.java +++ b/platform/core-impl/src/com/intellij/openapi/progress/util/AbstractProgressIndicatorBase.java @@ -38,6 +38,8 @@ import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.Arrays; +import java.util.Optional; import java.util.Set; public class AbstractProgressIndicatorBase extends UserDataHolderBase implements ProgressIndicatorStacked { @@ -181,7 +183,15 @@ public class AbstractProgressIndicatorBase extends UserDataHolderBase implements @Override public void setFraction(final double fraction) { if (isIndeterminate()) { - LOG.warn("This progress indicator is indeterminate, this may lead to visual inconsistency. Please call setIndeterminate(false) before you start progress."); + StackTraceElement[] trace = new Throwable().getStackTrace(); + Optional first = + Arrays.stream(trace).filter(element -> !element.getClassName().startsWith("com.intellij.openapi.progress.util")).findFirst(); + String message = "This progress indicator is indeterminate, this may lead to visual inconsistency. " + + "Please call setIndeterminate(false) before you start progress."; + if (first.isPresent()) { + message += "\n" + first.get(); + } + LOG.warn(message); setIndeterminate(false); } myFraction = fraction;