From bc12eafc8ae8a00fe5ba7aea8e81c25e94c6c5cf Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Fri, 1 Nov 2013 15:43:27 +0400 Subject: [PATCH] dead lock after indexes are built --- .../ide/actions/SearchEverywhereAction.java | 35 ++++++++++++------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/actions/SearchEverywhereAction.java b/platform/lang-impl/src/com/intellij/ide/actions/SearchEverywhereAction.java index dc02b9e6642b..9d997d260424 100644 --- a/platform/lang-impl/src/com/intellij/ide/actions/SearchEverywhereAction.java +++ b/platform/lang-impl/src/com/intellij/ide/actions/SearchEverywhereAction.java @@ -902,26 +902,32 @@ public class SearchEverywhereAction extends AnAction implements CustomComponentA buildToolWindows(pattern); updatePopup(); - AccessToken readLock = ApplicationManager.getApplication().acquireReadActionLock(); if (!DumbServiceImpl.getInstance(project).isDumb()) { - try { - buildClasses(pattern, false); - } finally {readLock.finish();} + ApplicationManager.getApplication().runReadAction(new Runnable() { + public void run() { + buildClasses(pattern, false); + } + }); updatePopup(); } - readLock = ApplicationManager.getApplication().acquireReadActionLock(); - try { - buildFiles(pattern); - } finally {readLock.finish();} + ApplicationManager.getApplication().runReadAction(new Runnable() { + public void run() { + buildFiles(pattern); + } + }); buildActionsAndSettings(pattern); updatePopup(); - readLock = ApplicationManager.getApplication().acquireReadActionLock(); - try { - buildSymbols(pattern); - } finally {readLock.finish();} + + ApplicationManager.getApplication().runReadAction(new Runnable() { + public void run() { + buildSymbols(pattern); + } + }); + + updatePopup(); } catch (Exception ignore) { @@ -1511,7 +1517,10 @@ public class SearchEverywhereAction extends AnAction implements CustomComponentA } myPopup.setLocation(p); } else { - adjustPopup(); + try { + adjustPopup(); + } + catch (Exception ignore) {} } }