public void run() { Object[] listeners= fListeners.getListeners(); for (int i= 0; i < listeners.length; i++) { IProblemChangedListener curr= (IProblemChangedListener) listeners[i]; curr.problemsChanged(changes, isMarkerChange); } } });
/** * Notify all IProblemChangedListener. Must be called in the display thread. */ private void runPendingUpdates() { IResource[] markerResources= null; IResource[] annotationResources= null; synchronized (this) { if (!fResourcesWithMarkerChanges.isEmpty()) { markerResources= fResourcesWithMarkerChanges.toArray(new IResource[fResourcesWithMarkerChanges.size()]); fResourcesWithMarkerChanges.clear(); } if (!fResourcesWithAnnotationChanges.isEmpty()) { annotationResources= fResourcesWithAnnotationChanges.toArray(new IResource[fResourcesWithAnnotationChanges.size()]); fResourcesWithAnnotationChanges.clear(); } } for (IProblemChangedListener curr : fListeners) { if (markerResources != null) { curr.problemsChanged(markerResources, true); } if (annotationResources != null) { curr.problemsChanged(annotationResources, false); } } }
/** * Notify all IProblemChangedListener. Must be called in the display thread. */ private void runPendingUpdates() { IResource[] markerResources= null; IResource[] annotationResources= null; synchronized (this) { if (!fResourcesWithMarkerChanges.isEmpty()) { markerResources= fResourcesWithMarkerChanges.toArray(new IResource[fResourcesWithMarkerChanges.size()]); fResourcesWithMarkerChanges.clear(); } if (!fResourcesWithAnnotationChanges.isEmpty()) { annotationResources= fResourcesWithAnnotationChanges.toArray(new IResource[fResourcesWithAnnotationChanges.size()]); fResourcesWithAnnotationChanges.clear(); } } for (IProblemChangedListener curr : fListeners) { if (markerResources != null) { curr.problemsChanged(markerResources, true); } if (annotationResources != null) { curr.problemsChanged(annotationResources, false); } } }