From 578dd6cb4b1d2c68cfac59a07ef14ca9f1023ff8 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Tue, 23 Sep 2014 17:58:42 +0400 Subject: [PATCH] Fix NPE java.lang.NullPointerException HintManagerImpl.getHintPosition(HintManagerImpl.java:455) HintManagerImpl.showInformationHint(HintManagerImpl.java:692) HintManagerImpl.showInformationHint(HintManagerImpl.java:684) HintManagerImpl.showInformationHint(HintManagerImpl.java:679) utoCompletion$2$1.run(TextFieldWithAutoCompletion.java:124) on.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:318) --- .../src/com/intellij/codeInsight/hint/HintManagerImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/codeInsight/hint/HintManagerImpl.java b/platform/platform-impl/src/com/intellij/codeInsight/hint/HintManagerImpl.java index 038d3a03c133..6c7a28854914 100644 --- a/platform/platform-impl/src/com/intellij/codeInsight/hint/HintManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/codeInsight/hint/HintManagerImpl.java @@ -452,14 +452,15 @@ public class HintManagerImpl extends HintManager implements Disposable { * @return coordinates in layered pane coordinate system. */ public Point getHintPosition(@NotNull LightweightHint hint, @NotNull Editor editor, @PositionFlags short constraint) { - JLayeredPane lp = editor.getComponent().getRootPane().getLayeredPane(); LogicalPosition pos = editor.getCaretModel().getLogicalPosition(); final DataContext dataContext = ((EditorEx)editor).getDataContext(); final Rectangle dominantArea = PlatformDataKeys.DOMINANT_HINT_AREA_RECTANGLE.getData(dataContext); LOG.assertTrue(SwingUtilities.isEventDispatchThread()); - if (dominantArea == null) { + JRootPane rootPane = editor.getComponent().getRootPane(); + if (dominantArea == null && rootPane != null) { + JLayeredPane lp = rootPane.getLayeredPane(); for (HintInfo info : getHintsStackArray()) { if (!info.hint.isSelectingHint()) continue; IdeTooltip tooltip = info.hint.getCurrentIdeTooltip();