diff options
-rw-r--r-- | plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/CommitIntegrityCheck.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/CommitIntegrityCheck.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/CommitIntegrityCheck.java index 2ca6aef82c..e841719a38 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/CommitIntegrityCheck.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/CommitIntegrityCheck.java @@ -249,8 +249,11 @@ public class CommitIntegrityCheck CDOID oldID = (CDOID)transaction.convertObjectToID(oldIDOrObject); if (oldIDOrObject != null) { - // Old child must be included - checkIncluded(oldID, "removed/former child/refTarget of", dirtyObject); + // Old child must be included if it's the container or has an eOpposite + if (containmentOrWithOpposite) + { + checkIncluded(oldID, "removed/former child/refTarget of", dirtyObject); + } } if (newIDOrObject != null) |