From 6ecaea8010233246adb37fe273d149e4106d73bd Mon Sep 17 00:00:00 2001 From: Markus Schorn Date: Wed, 15 Jul 2009 06:43:57 +0000 Subject: [PATCH] Suppress empty pdom notifications, follow up bug 248849. --- .../org/eclipse/cdt/internal/core/pdom/PDOM.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOM.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOM.java index be022daa7d2..b727db82a83 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOM.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOM.java @@ -235,15 +235,6 @@ public class PDOM extends PlatformObject implements IPDOM { private boolean fReloaded= false; private boolean fNewFiles= false; - public void clear() { - fReloaded= false; - fCleared= false; - fNewFiles= false; - - fClearedFiles.clear(); - fFilesWritten.clear(); - } - private void setCleared() { fCleared= true; fReloaded= false; @@ -273,6 +264,10 @@ public class PDOM extends PlatformObject implements IPDOM { public boolean hasNewFiles() { return fNewFiles; } + + public boolean isTrivial() { + return !fCleared && !fReloaded && !fNewFiles && fClearedFiles.isEmpty() && fFilesWritten.isEmpty(); + } } public static interface IListener { public void handleChange(PDOM pdom, ChangeEvent event); @@ -386,8 +381,9 @@ public class PDOM extends PlatformObject implements IPDOM { } private void fireChange(ChangeEvent event) { - if (listeners == null) + if (listeners == null || event.isTrivial()) return; + Iterator i = listeners.iterator(); while (i.hasNext()) i.next().handleChange(this, event);