diff --git a/platform/diff-impl/src/com/intellij/diff/impl/DiffRequestProcessor.java b/platform/diff-impl/src/com/intellij/diff/impl/DiffRequestProcessor.java index 1718e42fb98e..d341a100f519 100644 --- a/platform/diff-impl/src/com/intellij/diff/impl/DiffRequestProcessor.java +++ b/platform/diff-impl/src/com/intellij/diff/impl/DiffRequestProcessor.java @@ -45,6 +45,7 @@ import com.intellij.openapi.diff.DiffBundle; import com.intellij.openapi.diff.impl.DiffUsageTriggerCollector; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.LogicalPosition; +import com.intellij.openapi.progress.ProcessCanceledException; import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.project.DumbAwareAction; import com.intellij.openapi.project.Project; @@ -229,6 +230,9 @@ public abstract class DiffRequestProcessor implements Disposable { } } } + catch (ProcessCanceledException e) { + throw e; + } catch (Throwable e) { LOG.error(e); } @@ -575,6 +579,9 @@ public abstract class DiffRequestProcessor implements Disposable { try { ExternalDiffTool.showRequest(e.getProject(), myActiveRequest); } + catch (ProcessCanceledException ex) { + throw ex; + } catch (Throwable ex) { Messages.showErrorDialog(e.getProject(), ex.getMessage(), "Can't Show Diff In External Tool"); }