1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 22:52:11 +02:00

Suppress empty pdom notifications, follow up bug 248849.

This commit is contained in:
Markus Schorn 2009-07-15 06:43:57 +00:00
parent fc1bd1306d
commit 6ecaea8010

View file

@ -235,15 +235,6 @@ public class PDOM extends PlatformObject implements IPDOM {
private boolean fReloaded= false; private boolean fReloaded= false;
private boolean fNewFiles= false; private boolean fNewFiles= false;
public void clear() {
fReloaded= false;
fCleared= false;
fNewFiles= false;
fClearedFiles.clear();
fFilesWritten.clear();
}
private void setCleared() { private void setCleared() {
fCleared= true; fCleared= true;
fReloaded= false; fReloaded= false;
@ -273,6 +264,10 @@ public class PDOM extends PlatformObject implements IPDOM {
public boolean hasNewFiles() { public boolean hasNewFiles() {
return fNewFiles; return fNewFiles;
} }
public boolean isTrivial() {
return !fCleared && !fReloaded && !fNewFiles && fClearedFiles.isEmpty() && fFilesWritten.isEmpty();
}
} }
public static interface IListener { public static interface IListener {
public void handleChange(PDOM pdom, ChangeEvent event); public void handleChange(PDOM pdom, ChangeEvent event);
@ -386,8 +381,9 @@ public class PDOM extends PlatformObject implements IPDOM {
} }
private void fireChange(ChangeEvent event) { private void fireChange(ChangeEvent event) {
if (listeners == null) if (listeners == null || event.isTrivial())
return; return;
Iterator<IListener> i = listeners.iterator(); Iterator<IListener> i = listeners.iterator();
while (i.hasNext()) while (i.hasNext())
i.next().handleChange(this, event); i.next().handleChange(this, event);