don't fire resourcechanged notifications for "natural" saving process
diff --git a/modeling/plugins/org.eclipse.pde.emfforms/src/org/eclipse/pde/emfforms/editor/EmfFormEditor.java b/modeling/plugins/org.eclipse.pde.emfforms/src/org/eclipse/pde/emfforms/editor/EmfFormEditor.java
index 2d49ae1..282e54e 100644
--- a/modeling/plugins/org.eclipse.pde.emfforms/src/org/eclipse/pde/emfforms/editor/EmfFormEditor.java
+++ b/modeling/plugins/org.eclipse.pde.emfforms/src/org/eclipse/pde/emfforms/editor/EmfFormEditor.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     Anyware Technologies - initial API and implementation
  *
- * $Id: EmfFormEditor.java,v 1.13 2009/07/13 19:46:25 bcabe Exp $
+ * $Id: EmfFormEditor.java,v 1.14 2009/07/17 14:33:54 bcabe Exp $
  */
 package org.eclipse.pde.emfforms.editor;
 
@@ -127,6 +127,8 @@
 
 	private ValidatingEContentAdapter _validator;
 
+	private boolean isSaving = false;
+
 	public EmfFormEditor() {
 		this._editorConfig = getFormEditorConfig();
 		init();
@@ -226,6 +228,8 @@
 	@Override
 	public void doSave(IProgressMonitor monitor) {
 		try {
+			isSaving = true;
+
 			internalDoValidate(monitor);
 
 			// Do the work within an operation because this is a long running
@@ -262,6 +266,8 @@
 
 		} catch (OperationCanceledException oce) {
 			// Do nothing
+		} finally {
+			isSaving = false;
 		}
 
 	}
@@ -604,7 +610,6 @@
 					final URI changedURI = URI.createPlatformResourceURI(fullPath, false);
 
 					SWTObservables.getRealm(Display.getDefault()).asyncExec(new Runnable() {
-						private boolean isSaving = false;
 
 						public void run() {
 							EObject currentEObject = (EObject) getInputObservable().getValue();
@@ -661,6 +666,8 @@
 	 */
 	protected TreeViewer contentOutlineViewer;
 
+	private ResourceDeltaVisitor _visitor;
+
 	/**
 	 * This accesses a cached version of the content outliner.
 	 * @generated
@@ -775,8 +782,8 @@
 	public void resourceChanged(IResourceChangeEvent event) {
 		IResourceDelta delta = event.getDelta();
 		try {
-			ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
-			delta.accept(visitor);
+			_visitor = new ResourceDeltaVisitor();
+			delta.accept(_visitor);
 		} catch (CoreException ce) {
 			Activator.log(ce);
 		}