From 7b6139a37ffc9c0fbf0aedb3965d6d978561fb05 Mon Sep 17 00:00:00 2001 From: andrey zaytsev Date: Tue, 22 Feb 2011 19:58:08 +0300 Subject: [PATCH] EA-25516: already disposed --- .../find/impl/livePreview/LivePreview.java | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/find/impl/livePreview/LivePreview.java b/platform/lang-impl/src/com/intellij/find/impl/livePreview/LivePreview.java index 8deac659bc64..dd3d532331fd 100644 --- a/platform/lang-impl/src/com/intellij/find/impl/livePreview/LivePreview.java +++ b/platform/lang-impl/src/com/intellij/find/impl/livePreview/LivePreview.java @@ -30,6 +30,7 @@ import com.intellij.openapi.editor.markup.CustomHighlighterRenderer; import com.intellij.openapi.editor.markup.EffectType; import com.intellij.openapi.editor.markup.RangeHighlighter; import com.intellij.openapi.editor.markup.TextAttributes; +import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.popup.Balloon; import com.intellij.openapi.ui.popup.BalloonBuilder; import com.intellij.openapi.ui.popup.JBPopupFactory; @@ -187,12 +188,15 @@ public class LivePreview extends DocumentAdapter implements ReplacementView.Dele editor.getScrollingModel().removeVisibleAreaListener(visibleAreaListener); } myVisibleAreaListenersToRemove.clear(); - for (RangeHighlighter h : myHighlighters) { - HighlightManager.getInstance(mySearchResults.getProject()).removeSegmentHighlighter(editor, h); - } - if (myCursorHighlighter != null) { - HighlightManager.getInstance(mySearchResults.getProject()).removeSegmentHighlighter(editor, myCursorHighlighter); - myCursorHighlighter = null; + Project project = mySearchResults.getProject(); + if (!project.isDisposed()) { + for (RangeHighlighter h : myHighlighters) { + HighlightManager.getInstance(project).removeSegmentHighlighter(editor, h); + } + if (myCursorHighlighter != null) { + HighlightManager.getInstance(project).removeSegmentHighlighter(editor, myCursorHighlighter); + myCursorHighlighter = null; + } } } } @@ -247,11 +251,14 @@ public class LivePreview extends DocumentAdapter implements ReplacementView.Dele } private void highlightRange(TextRange textRange, TextAttributes attributes, Collection highlighters) { - HighlightManager highlightManager = HighlightManager.getInstance(mySearchResults.getProject()); - if (highlightManager != null) { - highlightManager.addRangeHighlight(mySearchResults.getEditor(), - textRange.getStartOffset(), textRange.getEndOffset(), - attributes, false, highlighters); + Project project = mySearchResults.getProject(); + if (!project.isDisposed()) { + HighlightManager highlightManager = HighlightManager.getInstance(project); + if (highlightManager != null) { + highlightManager.addRangeHighlight(mySearchResults.getEditor(), + textRange.getStartOffset(), textRange.getEndOffset(), + attributes, false, highlighters); + } } } @@ -269,7 +276,6 @@ public class LivePreview extends DocumentAdapter implements ReplacementView.Dele drawSegment(editor, new TextRange(offset, newOffset), g); offset = newOffset+1; } - } private static void drawSegment(Editor editor, Segment highlighter, Graphics g) {