This is an automated email from the ASF dual-hosted git repository.

hansva pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hop.git


The following commit(s) were added to refs/heads/main by this push:
     new eb632a807c Fix undo/redo in workflows, fixes #6028 (#6030)
eb632a807c is described below

commit eb632a807c669694c96e09ffb6e9b7d9aa61158c
Author: Hans Van Akelyen <[email protected]>
AuthorDate: Tue Nov 18 14:05:42 2025 +0100

    Fix undo/redo in workflows, fixes #6028 (#6030)
---
 .../org/apache/hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java | 6 ++++++
 .../hopgui/file/workflow/delegates/HopGuiWorkflowUndoDelegate.java  | 4 +++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git 
a/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java
 
b/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java
index 627f44c857..2c81284f9b 100644
--- 
a/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java
+++ 
b/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java
@@ -641,6 +641,7 @@ public class HopGuiWorkflowGraph extends HopGuiAbstractGraph
             //
           case WORKFLOW_HOP_ICON:
             WorkflowHopMeta hop = (WorkflowHopMeta) areaOwner.getOwner();
+            WorkflowHopMeta originalHop = hop.clone();
             if (hop.getFromAction().isEvaluation()) {
               if (hop.isUnconditional()) {
                 hop.setUnconditional(false);
@@ -652,6 +653,11 @@ public class HopGuiWorkflowGraph extends 
HopGuiAbstractGraph
                   hop.setUnconditional(true);
                 }
               }
+              hopGui.undoDelegate.addUndoChange(
+                  workflowMeta,
+                  new WorkflowHopMeta[] {originalHop},
+                  new WorkflowHopMeta[] {hop},
+                  new int[] {workflowMeta.indexOfWorkflowHop(hop)});
               updateGui();
             }
             break;
diff --git 
a/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/delegates/HopGuiWorkflowUndoDelegate.java
 
b/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/delegates/HopGuiWorkflowUndoDelegate.java
index a21a0bf59f..7409b17134 100644
--- 
a/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/delegates/HopGuiWorkflowUndoDelegate.java
+++ 
b/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/delegates/HopGuiWorkflowUndoDelegate.java
@@ -113,6 +113,8 @@ public class HopGuiWorkflowUndoDelegate {
           ActionMeta from = 
workflowMeta.findAction(hopMeta.getFromAction().getName());
           ActionMeta to = 
workflowMeta.findAction(hopMeta.getToAction().getName());
           WorkflowHopMeta newHopMeta = new WorkflowHopMeta(from, to);
+          newHopMeta.setEvaluation(hopMeta.isEvaluation());
+          newHopMeta.setUnconditional(hopMeta.isUnconditional());
           workflowMeta.addWorkflowHop(idx, newHopMeta);
         }
         break;
@@ -293,7 +295,7 @@ public class HopGuiWorkflowUndoDelegate {
         //
         // CHANGE POSITION
         //
-      case PositionTransform:
+      case PositionAction:
         for (int i = 0; i < changeAction.getCurrentIndex().length; i++) {
           // Find & change the location of the transform:
           ActionMeta action = 
workflowMeta.getAction(changeAction.getCurrentIndex()[i]);

Reply via email to