From 33ad1236ff3e9d8663e7647d13aad10d443d5530 Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 27 Jun 2013 21:11:22 +0200 Subject: [PATCH] run goto symbol calculation under progress so that checkCanceled can really work --- .../ide/util/gotoByName/ChooseByNameBase.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java index 0ba2503548d5..da0f5cb66f38 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java @@ -1431,7 +1431,7 @@ public abstract class ChooseByNameBase { showCard(SEARCHING_CARD, 200); final Set elements = new LinkedHashSet(); - Runnable action = new Runnable() { + final Runnable action = new Runnable() { @Override public void run() { try { @@ -1455,7 +1455,14 @@ public abstract class ChooseByNameBase { } } }; - ApplicationManager.getApplication().runReadAction(action); + Runnable readAction = new Runnable() { + @Override + public void run() { + ApplicationManager.getApplication().runReadAction(action); + } + }; + ProgressManager.getInstance().runProcess(readAction, myCancelled); + if (myCancelled.isCanceled()) { myShowCardAlarm.cancelAllRequests(); @@ -1465,7 +1472,7 @@ public abstract class ChooseByNameBase { final String cardToShow; if (elements.isEmpty() && !myCheckboxState) { myCheckboxState = true; - ApplicationManager.getApplication().runReadAction(action); + ProgressManager.getInstance().runProcess(readAction, myCancelled); cardToShow = elements.isEmpty() ? NOT_FOUND_CARD : NOT_FOUND_IN_PROJECT_CARD; } else {