diff options
author | Eike Stepper | 2016-10-10 13:53:52 +0000 |
---|---|---|
committer | Eike Stepper | 2016-10-10 13:53:52 +0000 |
commit | c15fd3efd477d5336cde2ef3eee6cd40c58f59c2 (patch) | |
tree | 0816294b4795d2cb27ea31d9ee0f2f85d3b0e947 /plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view | |
parent | da400648e8fe23899619769629dabc8123490e96 (diff) | |
download | cdo-c15fd3efd477d5336cde2ef3eee6cd40c58f59c2.tar.gz cdo-c15fd3efd477d5336cde2ef3eee6cd40c58f59c2.tar.xz cdo-c15fd3efd477d5336cde2ef3eee6cd40c58f59c2.zip |
[505654] Support automatic remerging / multiple merges from the same branch
https://bugs.eclipse.org/bugs/show_bug.cgi?id=505654
Diffstat (limited to 'plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view')
-rw-r--r-- | plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOStateMachine.java | 13 |
1 files changed, 13 insertions, 0 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 9764cac2d2..75fe71646e 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 @@ -33,6 +33,8 @@ import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevisionCache; import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevisionDelta; import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevisionManager; import org.eclipse.emf.cdo.transaction.CDOTransaction; +import org.eclipse.emf.cdo.transaction.CDOTransactionHandler1; +import org.eclipse.emf.cdo.transaction.CDOTransactionHandler1.WithUndo; import org.eclipse.emf.cdo.transaction.CDOUndoDetector; import org.eclipse.emf.cdo.util.CDOUtil; import org.eclipse.emf.cdo.view.CDOInvalidationPolicy; @@ -1246,6 +1248,17 @@ public final class CDOStateMachine extends FiniteStateMachine<CDOState, CDOEvent transaction.setDirty(false); } + CDOTransactionHandler1[] handlers = transaction.getTransactionHandlers1(); + for (int i = 0; i < handlers.length; i++) + { + CDOTransactionHandler1 handler = handlers[i]; + if (handler instanceof WithUndo) + { + WithUndo withUndo = (WithUndo)handler; + withUndo.undoingObject(transaction, object, featureDelta); + } + } + return result; } } |