From eb6e975d22d064dba392909d682c5800c17e0165 Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 10 Mar 2015 16:25:57 +0100 Subject: [PATCH] enable alternative resolve in gutter icon click processing (EA-65602) --- .../navigation/NavigationGutterIconRenderer.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/xml/dom-impl/src/com/intellij/codeInsight/navigation/NavigationGutterIconRenderer.java b/xml/dom-impl/src/com/intellij/codeInsight/navigation/NavigationGutterIconRenderer.java index e4651158fc2c..066ead39c654 100644 --- a/xml/dom-impl/src/com/intellij/codeInsight/navigation/NavigationGutterIconRenderer.java +++ b/xml/dom-impl/src/com/intellij/codeInsight/navigation/NavigationGutterIconRenderer.java @@ -21,6 +21,7 @@ import com.intellij.ide.util.PsiElementListCellRenderer; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.editor.markup.GutterIconRenderer; +import com.intellij.openapi.project.DumbService; import com.intellij.openapi.ui.popup.Balloon; import com.intellij.openapi.ui.popup.JBPopup; import com.intellij.openapi.ui.popup.JBPopupFactory; @@ -106,7 +107,17 @@ public abstract class NavigationGutterIconRenderer extends GutterIconRenderer im @Override public void navigate(@Nullable final MouseEvent event, @Nullable final PsiElement elt) { - final List list = getTargetElements(); + final List list; + + DumbService dumbService = elt != null ? DumbService.getInstance(elt.getProject()) : null; + if (dumbService != null) dumbService.setAlternativeResolveEnabled(true); + try { + list = getTargetElements(); + } + finally { + if (dumbService != null) dumbService.setAlternativeResolveEnabled(false); + } + if (list.isEmpty()) { if (myEmptyText != null) { if (event != null) {