From 1700722445b89129e7e29de0d47385868326f3cb Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Thu, 19 Feb 2015 21:15:20 +0300 Subject: [PATCH] EA-64920 - INRE: FileBasedIndexImpl.handleDumbMode --- .../ui/breakpoints/FieldBreakpoint.java | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/FieldBreakpoint.java b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/FieldBreakpoint.java index 664e6ff35689..9c1ef97900ba 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/FieldBreakpoint.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/FieldBreakpoint.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2015 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -33,6 +33,7 @@ import com.intellij.icons.AllIcons; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Document; +import com.intellij.openapi.project.IndexNotReadyException; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Computable; import com.intellij.openapi.util.InvalidDataException; @@ -118,16 +119,18 @@ public class FieldBreakpoint extends BreakpointWithHighlighter() { - @Override - public PsiField compute() { - final PsiClass psiClass = getPsiClassAt(sourcePosition); - return psiClass != null ? psiClass.findFieldByName(getFieldName(), true) : null; + try { + final PsiField field = ApplicationManager.getApplication().runReadAction(new Computable() { + @Override + public PsiField compute() { + final PsiClass psiClass = getPsiClassAt(sourcePosition); + return psiClass != null ? psiClass.findFieldByName(getFieldName(), true) : null; + } + }); + if (field != null) { + return field; } - }); - if (field != null) { - return field; - } + } catch (IndexNotReadyException ignored) {} return PositionUtil.getPsiElementAt(getProject(), PsiField.class, sourcePosition); }