jerry 3 年 前
コミット
2222469e47
1 ファイル変更6 行追加3 行削除
  1. 6 3
      packages/ot-js/src/client/UndoManager.ts

+ 6 - 3
packages/ot-js/src/client/UndoManager.ts

@@ -14,12 +14,15 @@ export class UndoManager {
   protected _transformStack(stack: Array<UndoManager.Wrapped>, command: Command): void {
     const transform = this._transform;
     const sizeof = stack.length - 1;
+    let redoCommand = command;
+    let undoCommand = command;
     for (let i = sizeof; i >= 0; i--) {
-      const pair1 = transform.transfer(stack[i].redo, command);
-      const pair2 = transform.transfer(stack[i].undo, pair1[1]);
+      const pair1 = transform.transfer(stack[i].redo, redoCommand);
+      const pair2 = transform.transfer(stack[i].undo, undoCommand);
       stack[i].redo = pair1[0];
       stack[i].undo = pair2[0];
-      command = pair2[1];
+      redoCommand = pair1[1];
+      undoCommand = pair2[1];
     }
   }