From 41c51ab95a1d60817eb2f7f9920dfb1670da129a Mon Sep 17 00:00:00 2001 From: Aleksey Pivovarov Date: Mon, 15 Jun 2020 14:16:50 +0300 Subject: [PATCH] vcs: abort ongoing "Local Changes" refresh on mapping change Handle PCE that is thrown from 'iterateScopes()' in the same manner as thrown from ChangeProvider. follow-up: 8563db42426bdf4443148da3a699c972e8d678d8 574b61f361094f3fdf78e72fab4c3d515005fa60 GitOrigin-RevId: c5c03a3cec55598760c37aa0b30504023471b890 --- .../openapi/vcs/changes/ChangeListManagerImpl.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangeListManagerImpl.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangeListManagerImpl.java index 83ffca632c13..7ff0edd2a6e4 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangeListManagerImpl.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangeListManagerImpl.java @@ -483,9 +483,13 @@ public class ChangeListManagerImpl extends ChangeListManagerEx implements Change SensitiveProgressWrapper vcsIndicator = new SensitiveProgressWrapper(ProgressManager.getInstance().getProgressIndicator()); invalidated.doWhenCanceled(() -> vcsIndicator.cancel()); - ProgressManager.getInstance().executeProcessUnderProgress(() -> { - iterateScopes(dataHolder, scopes, vcsIndicator); - }, vcsIndicator); + try { + ProgressManager.getInstance().executeProcessUnderProgress(() -> { + iterateScopes(dataHolder, scopes, vcsIndicator); + }, vcsIndicator); + } + catch (ProcessCanceledException ignore) { + } boolean takeChanges; synchronized (myDataLock) { @@ -658,7 +662,8 @@ public class ChangeListManagerImpl extends ChangeListManagerEx implements Change catch (VcsException e) { handleUpdateException(e); } - catch (ProcessCanceledException ignore) { + catch (ProcessCanceledException e) { + throw e; } catch (Throwable t) { LOG.debug(t);