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);
}