[163391] sync fix
diff --git a/plugins/org.eclipse.wst.common.emfworkbench.integration/src/org/eclipse/wst/common/internal/emfworkbench/integration/ResourceSetWorkbenchEditSynchronizer.java b/plugins/org.eclipse.wst.common.emfworkbench.integration/src/org/eclipse/wst/common/internal/emfworkbench/integration/ResourceSetWorkbenchEditSynchronizer.java
index 7ff87b1..fd9cfa2 100644
--- a/plugins/org.eclipse.wst.common.emfworkbench.integration/src/org/eclipse/wst/common/internal/emfworkbench/integration/ResourceSetWorkbenchEditSynchronizer.java
+++ b/plugins/org.eclipse.wst.common.emfworkbench.integration/src/org/eclipse/wst/common/internal/emfworkbench/integration/ResourceSetWorkbenchEditSynchronizer.java
@@ -278,9 +278,16 @@
}
} else {
/*Unload if found and is not modified but inconsistent.*/
- if (resource.isLoaded() && WorkbenchResourceHelper.isReferencedResource(resource) && !WorkbenchResourceHelper.isConsistent((ReferencedResource)resource)) {
- deferredUnloadResources.add(resource);
- didProcess = true;
+ if (resource.isLoaded()) {
+ if ( WorkbenchResourceHelper.isReferencedResource(resource)) {
+ if (!WorkbenchResourceHelper.isConsistent((ReferencedResource)resource)) {
+ deferredUnloadResources.add(resource);
+ didProcess = true;
+ }
+ } else {
+ deferredUnloadResources.add(resource);
+ didProcess = true;
+ }
}
}
} else {
@@ -308,8 +315,12 @@
if (isRemove)
deferredRemoveResources.add(resource);
- else if (resource.isLoaded() && WorkbenchResourceHelper.isReferencedResource(resource) && !WorkbenchResourceHelper.isConsistent((ReferencedResource)resource))
- deferredUnloadResources.add(resource);
+ else if (resource.isLoaded()) {
+ if ( WorkbenchResourceHelper.isReferencedResource(resource)) {
+ if(!WorkbenchResourceHelper.isConsistent((ReferencedResource)resource))
+ deferredUnloadResources.add(resource);
+ } else deferredUnloadResources.add(resource);
+ }
}
return false;
}