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 19527340178b..4374bc11d031 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 @@ -130,13 +130,10 @@ public class AbstractProgressIndicatorBase extends UserDataHolderBase implements @Override public void checkCanceled() { + CoreProgressManager.runCheckCanceledHooks(this); if (isCanceled() && isCancelable()) { - throw new ProcessCanceledException(getCancellationTrace()); - } - if (CoreProgressManager.runCheckCanceledHooks(this)) { - if (isCanceled() && isCancelable()) { - throw new ProcessCanceledException(getCancellationTrace()); - } + Throwable trace = getCancellationTrace(); + throw new ProcessCanceledException(trace instanceof ProcessCanceledException ? trace.getCause() : trace); } }