From db655be9cf07a7c648d11595db527241e30e02ab Mon Sep 17 00:00:00 2001 From: Darin Wright Date: Tue, 4 Mar 2008 15:32:56 +0000 Subject: Bug 219794 - NPE in console MatchJob --- .../org/eclipse/ui/internal/console/ConsolePatternMatcher.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'org.eclipse.ui.console') diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePatternMatcher.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePatternMatcher.java index 0a69d5fd9..5d8287467 100644 --- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePatternMatcher.java +++ b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePatternMatcher.java @@ -78,11 +78,15 @@ public class ConsolePatternMatcher implements IDocumentListener { // perhaps the buffer was re-set return Status.OK_STATUS; } - for (int i = 0; i < fPatterns.size(); i++) { + Object[] patterns = null; + synchronized (fPatterns) { + patterns = fPatterns.toArray(); + } + for (int i = 0; i < patterns.length; i++) { if (monitor.isCanceled()) { break; } - CompiledPatternMatchListener notifier = (CompiledPatternMatchListener) fPatterns.get(i); + CompiledPatternMatchListener notifier = (CompiledPatternMatchListener) patterns[i]; int baseOffset = notifier.end; int lengthToSearch = endOfSearch - baseOffset; if (lengthToSearch > 0) { -- cgit v1.2.3