From 493e3b7e89767a3f2297f94552b27e98d8398dbf Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Mon, 18 Oct 2010 21:10:44 +0400 Subject: [PATCH] longer read action (EA-22453 - assert: LazyParseableElement.ensureParsed) --- .../binding/FormReferencesSearcher.java | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/plugins/ui-designer/src/com/intellij/uiDesigner/binding/FormReferencesSearcher.java b/plugins/ui-designer/src/com/intellij/uiDesigner/binding/FormReferencesSearcher.java index 0ad32e0a2294..d39768ca991c 100644 --- a/plugins/ui-designer/src/com/intellij/uiDesigner/binding/FormReferencesSearcher.java +++ b/plugins/ui-designer/src/com/intellij/uiDesigner/binding/FormReferencesSearcher.java @@ -194,16 +194,15 @@ public class FormReferencesSearcher implements QueryExecutor() { - public Boolean compute() { - return ref.isReferenceTo(element); - } - }).booleanValue(); - if (isReferenceTo){ - if (!processor.process(ref)) return false; + final int finalIndex = index; + final PsiReference ref = ApplicationManager.getApplication().runReadAction(new NullableComputable() { + public PsiReference compute() { + final PsiReference ref = file.findReferenceAt(finalIndex + offset + 1); + return ref != null && ref.isReferenceTo(element) ? ref : null; } + }); + if (ref != null) { + if (!processor.process(ref)) return false; } index++; }