diff options
author | Kevin Barnes | 2005-10-17 14:52:25 +0000 |
---|---|---|
committer | Kevin Barnes | 2005-10-17 14:52:25 +0000 |
commit | cb5f31d733c4324a4e977292c1b1b6cd72fd4394 (patch) | |
tree | 25e979648756dec3f9bd92966b2642cf4cd3429f /org.eclipse.ui.console/src | |
parent | d0f2d4c4195400d4a91195ef2ba051ecb351ee63 (diff) | |
download | eclipse.platform.debug-cb5f31d733c4324a4e977292c1b1b6cd72fd4394.tar.gz eclipse.platform.debug-cb5f31d733c4324a4e977292c1b1b6cd72fd4394.tar.xz eclipse.platform.debug-cb5f31d733c4324a4e977292c1b1b6cd72fd4394.zip |
Bug 112792 - NPE in TextConsoleViewer
Diffstat (limited to 'org.eclipse.ui.console/src')
-rw-r--r-- | org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsoleViewer.java | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsoleViewer.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsoleViewer.java index d06f54d14..0c6a1c199 100644 --- a/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsoleViewer.java +++ b/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsoleViewer.java @@ -103,14 +103,17 @@ public class TextConsoleViewer extends SourceViewer implements LineStyleListener private IPositionUpdater positionUpdater = new IPositionUpdater() { public void update(DocumentEvent event) { try { - Position[] positions = getDocument().getPositions(ConsoleHyperlinkPosition.HYPER_LINK_CATEGORY); - for (int i = 0; i < positions.length; i++) { - Position position = positions[i]; - if (position.offset == event.fOffset && position.length<=event.fLength) { - position.delete(); - } - if (position.isDeleted) { - getDocument().removePosition(ConsoleHyperlinkPosition.HYPER_LINK_CATEGORY, position); + IDocument document = getDocument(); + if (document != null) { + Position[] positions = document.getPositions(ConsoleHyperlinkPosition.HYPER_LINK_CATEGORY); + for (int i = 0; i < positions.length; i++) { + Position position = positions[i]; + if (position.offset == event.fOffset && position.length<=event.fLength) { + position.delete(); + } + if (position.isDeleted) { + document.removePosition(ConsoleHyperlinkPosition.HYPER_LINK_CATEGORY, position); + } } } } catch (BadPositionCategoryException e) { |