diff options
author | Eike Stepper | 2011-05-18 08:58:48 +0000 |
---|---|---|
committer | Eike Stepper | 2011-05-18 08:58:48 +0000 |
commit | 4173b51978d21faa3b4a77f0890cb5eea1d99c29 (patch) | |
tree | d2c775ac518c1e473664be7f875e09f190a32aef | |
parent | 093d37bb6b9d464c1d3b6e00989a4222b6542d47 (diff) | |
download | cdo-4173b51978d21faa3b4a77f0890cb5eea1d99c29.tar.gz cdo-4173b51978d21faa3b4a77f0890cb5eea1d99c29.tar.xz cdo-4173b51978d21faa3b4a77f0890cb5eea1d99c29.zip |
[344072] Reattachment registers object as DIRTY even when it's not
https://bugs.eclipse.org/bugs/show_bug.cgi?id=344072
-rw-r--r-- | plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOStateMachine.java | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOStateMachine.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOStateMachine.java index 30719c76cd..dc33de14c1 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOStateMachine.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOStateMachine.java @@ -657,9 +657,9 @@ public final class CDOStateMachine extends FiniteStateMachine<CDOState, CDOEvent public void execute(InternalCDOObject object, CDOState state, CDOEvent event, InternalCDOTransaction transaction) { InternalCDORevisionManager revisionManager = transaction.getSession().getRevisionManager(); - CDORevisionKey revKey = transaction.getCleanRevisions().get(object); + CDORevision cleanRevision = transaction.getCleanRevisions().get(object); - CDOID id = revKey.getID(); + CDOID id = cleanRevision.getID(); object.cdoInternalSetID(id); object.cdoInternalSetView(transaction); @@ -667,15 +667,14 @@ public final class CDOStateMachine extends FiniteStateMachine<CDOState, CDOEvent CDORevisionFactory factory = revisionManager.getFactory(); InternalCDORevision revision = (InternalCDORevision)factory.createRevision(object.eClass()); revision.setID(id); - revision.setBranchPoint(revKey.getBranch().getHead()); - revision.setVersion(revKey.getVersion()); + revision.setBranchPoint(cleanRevision.getBranch().getHead()); + revision.setVersion(cleanRevision.getVersion()); // Populate the revision based on the values in the CDOObject object.cdoInternalSetRevision(revision); object.cdoInternalPostAttach(); // Compute a revision delta and register it with the tx - CDORevision cleanRevision = revisionManager.getRevisionByVersion(id, revKey, -1, true); CDORevisionDelta revisionDelta = revision.compare(cleanRevision); if (revisionDelta.isEmpty()) { |