From 9a9707df9d6c0eaeef4ec204290eae93404f908f Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Mon, 10 Dec 2012 15:17:37 +0400 Subject: [PATCH] EA-38282 - ISE: ChooseByNameBase.getNames --- .../ide/util/gotoByName/ChooseByNameBase.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 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 e9cd42026340..1f9fd4330205 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 @@ -1414,9 +1414,10 @@ public abstract class ChooseByNameBase { @Override public void run() { try { - ensureNamesLoaded(myCheckboxState); + boolean everywhere = myCheckboxState; + ensureNamesLoaded(everywhere); - addElementsByPattern(myPattern, elements, myCancelled); + addElementsByPattern(myPattern, elements, myCancelled, everywhere); for (Object elem : elements) { if (myCancelled.isCanceled()) { @@ -1463,10 +1464,11 @@ public abstract class ChooseByNameBase { private void addElementsByPattern(@NotNull String pattern, @NotNull final Set elements, - @NotNull final ProgressIndicator cancelled) { + @NotNull final ProgressIndicator cancelled, + boolean everywhere) { long start = System.currentTimeMillis(); myProvider.filterElements( - ChooseByNameBase.this, pattern, myCheckboxState, + ChooseByNameBase.this, pattern, everywhere, cancelled, new Processor() { @Override @@ -1614,11 +1616,12 @@ public abstract class ChooseByNameBase { boolean anyPlace = isSearchInAnyPlace(); setSearchInAnyPlace(false); - myCalcElementsThread.addElementsByPattern(text, prefixMatchElementsArray, indicator); + boolean everywhere = myCalcElementsThread.myCheckboxState; + myCalcElementsThread.addElementsByPattern(text, prefixMatchElementsArray, indicator, everywhere); setSearchInAnyPlace(anyPlace); if (anyPlace && !overFlow[0]) { - myCalcElementsThread.addElementsByPattern(text, nonPrefixMatchElementsArray, indicator); + myCalcElementsThread.addElementsByPattern(text, nonPrefixMatchElementsArray, indicator, everywhere); nonPrefixMatchElementsArray.removeAll(prefixMatchElementsArray); }