From 54203100bc6fd5ed37dd57c3647a0bd69d0ff87e Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Wed, 13 Nov 2019 18:49:03 +0900 Subject: [PATCH] EA-217072: Add missing read action --- .../kotlin/idea/debugger/debuggerUtil.kt | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/debuggerUtil.kt b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/debuggerUtil.kt index dd7df5eb7ab..4c8a90aee43 100644 --- a/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/debuggerUtil.kt +++ b/idea/jvm-debugger/jvm-debugger-core/src/org/jetbrains/kotlin/idea/debugger/debuggerUtil.kt @@ -216,19 +216,21 @@ fun findElementAtLine(file: KtFile, line: Int): PsiElement? { val lineStartOffset = file.getLineStartOffset(line) ?: return null val lineEndOffset = file.getLineEndOffset(line) ?: return null - var topMostElement: PsiElement? = null - var elementAt: PsiElement? - for (offset in lineStartOffset until lineEndOffset) { - elementAt = file.findElementAt(offset) - if (elementAt != null) { - topMostElement = CodeInsightUtils.getTopmostElementAtOffset(elementAt, offset) - if (topMostElement is KtElement) { - break + return runReadAction { + var topMostElement: PsiElement? = null + var elementAt: PsiElement? + for (offset in lineStartOffset until lineEndOffset) { + elementAt = file.findElementAt(offset) + if (elementAt != null) { + topMostElement = CodeInsightUtils.getTopmostElementAtOffset(elementAt, offset) + if (topMostElement is KtElement) { + break + } } } - } - return topMostElement + topMostElement + } } fun findCallByEndToken(element: PsiElement): KtCallExpression? {