From c3f73d80862c322a681f72fb0ccf75d36591565e Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Mon, 1 Nov 2010 18:31:03 +0300 Subject: [PATCH] fix read access assertion --- .../src/com/intellij/debugger/ui/ValueHint.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/ValueHint.java b/java/debugger/impl/src/com/intellij/debugger/ui/ValueHint.java index 1b4c1d4704ab..ec53a137c4e3 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/ValueHint.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/ValueHint.java @@ -33,13 +33,11 @@ import com.intellij.debugger.ui.impl.DebuggerTreeRenderer; import com.intellij.debugger.ui.impl.InspectDebuggerTree; import com.intellij.debugger.ui.impl.watch.WatchItemDescriptor; import com.intellij.debugger.ui.tree.render.DescriptorLabelListener; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.project.Project; -import com.intellij.openapi.util.Pair; -import com.intellij.openapi.util.Ref; -import com.intellij.openapi.util.TextRange; -import com.intellij.openapi.util.Trinity; +import com.intellij.openapi.util.*; import com.intellij.psi.*; import com.intellij.ui.SimpleColoredText; import com.intellij.ui.SimpleTextAttributes; @@ -100,7 +98,12 @@ public class ValueHint extends AbstractValueHint { final EvaluationContextImpl evaluationContext = debuggerContext.createEvaluationContext(); - final TextWithImports text = new TextWithImportsImpl(CodeFragmentKind.EXPRESSION, myCurrentExpression.getText()); + final String expressionText = ApplicationManager.getApplication().runReadAction(new Computable() { + public String compute() { + return myCurrentExpression.getText(); + } + }); + final TextWithImports text = new TextWithImportsImpl(CodeFragmentKind.EXPRESSION, expressionText); final Value value = myValueToShow != null? myValueToShow : evaluator.evaluate(evaluationContext); final WatchItemDescriptor descriptor = new WatchItemDescriptor(getProject(), text, value);