Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Barnes2005-10-17 14:52:25 +0000
committerKevin Barnes2005-10-17 14:52:25 +0000
commitcb5f31d733c4324a4e977292c1b1b6cd72fd4394 (patch)
tree25e979648756dec3f9bd92966b2642cf4cd3429f /org.eclipse.ui.console/src
parentd0f2d4c4195400d4a91195ef2ba051ecb351ee63 (diff)
downloadeclipse.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.java19
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) {

Back to the top