From 69a894752279da9676af47e48d8fb34e1a35d0c7 Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Fri, 30 Apr 2004 02:04:44 +0000 Subject: [PATCH] Fix the CModelOperation --- .../org/eclipse/cdt/internal/core/model/CModelManager.java | 2 +- .../org/eclipse/cdt/internal/core/model/CModelOperation.java | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java index c3bd8f6fe02..33957cbd4a8 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java @@ -80,7 +80,7 @@ public class CModelManager implements IResourceChangeListener, ICDescriptorListe * Queue of deltas created explicily by the C Model that * have yet to be fired. */ - private ArrayList fCModelDeltas = new ArrayList(); + ArrayList fCModelDeltas = new ArrayList(); /** * Queue of reconcile deltas on working copies that have yet to be fired. diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelOperation.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelOperation.java index fc32bcc7800..b855bca5edb 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelOperation.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelOperation.java @@ -525,13 +525,15 @@ public abstract class CModelOperation implements IWorkspaceRunnable, IProgressMo */ public void run(IProgressMonitor monitor) throws CoreException { CModelManager manager= CModelManager.getDefault(); + int previousDeltaCount = manager.fCModelDeltas.size(); try { fMonitor = monitor; execute(); } finally { registerDeltas(); // Fire if we change somethings - if (!hasModifiedResource() || manager.reconcileDeltas.isEmpty()) { + if ((manager.fCModelDeltas.size() > previousDeltaCount || !manager.reconcileDeltas.isEmpty()) + && !this.hasModifiedResource()) { manager.fire(ElementChangedEvent.POST_CHANGE); } }