From 32a0e7c560ae22f3d8028ce875bf84da20ed290e Mon Sep 17 00:00:00 2001 From: Vassiliy Date: Mon, 4 Nov 2013 13:39:58 +0400 Subject: [PATCH] IDEA-115693 Exception on Show Bookmarks --- .../src/com/intellij/ui/popup/util/DetailView.java | 3 ++- .../src/com/intellij/ui/popup/util/DetailViewImpl.java | 10 ++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/platform/lang-api/src/com/intellij/ui/popup/util/DetailView.java b/platform/lang-api/src/com/intellij/ui/popup/util/DetailView.java index 278ccd4541cc..3c7a8d3f4041 100644 --- a/platform/lang-api/src/com/intellij/ui/popup/util/DetailView.java +++ b/platform/lang-api/src/com/intellij/ui/popup/util/DetailView.java @@ -89,6 +89,7 @@ public interface DetailView extends UserDataHolder { return myFile; } + @Nullable public LogicalPosition getNavigate() { return myNavigate; } @@ -101,7 +102,7 @@ public interface DetailView extends UserDataHolder { private final LogicalPosition myNavigate; private final TextAttributes myAttributes; - public PreviewEditorState(VirtualFile file, LogicalPosition navigate, TextAttributes attributes) { + public PreviewEditorState(VirtualFile file, @Nullable LogicalPosition navigate, TextAttributes attributes) { myFile = file; myNavigate = navigate; diff --git a/platform/lang-impl/src/com/intellij/ui/popup/util/DetailViewImpl.java b/platform/lang-impl/src/com/intellij/ui/popup/util/DetailViewImpl.java index c66212e0ffc1..76939d421741 100644 --- a/platform/lang-impl/src/com/intellij/ui/popup/util/DetailViewImpl.java +++ b/platform/lang-impl/src/com/intellij/ui/popup/util/DetailViewImpl.java @@ -156,14 +156,16 @@ public class DetailViewImpl extends JPanel implements DetailView, UserDataHolder add(getEditor().getComponent(), BorderLayout.CENTER); } - getEditor().getCaretModel().moveToLogicalPosition(positionToNavigate); - validate(); - getEditor().getScrollingModel().scrollToCaret(ScrollType.CENTER); + if (positionToNavigate != null) { + getEditor().getCaretModel().moveToLogicalPosition(positionToNavigate); + validate(); + getEditor().getScrollingModel().scrollToCaret(ScrollType.CENTER); + } getEditor().setBorder(IdeBorderFactory.createBorder(SideBorder.TOP)); clearHightlighting(); - if (lineAttributes != null) { + if (lineAttributes != null && positionToNavigate != null) { myHighlighter = getEditor().getMarkupModel().addLineHighlighter(positionToNavigate.line, HighlighterLayer.SELECTION - 1, lineAttributes); }