diff --git a/src/core/org/apache/jmeter/gui/tree/JMeterTreeTransferHandler.java b/src/core/org/apache/jmeter/gui/tree/JMeterTreeTransferHandler.java index 5476fcdf47..91f455190b 100644 --- a/src/core/org/apache/jmeter/gui/tree/JMeterTreeTransferHandler.java +++ b/src/core/org/apache/jmeter/gui/tree/JMeterTreeTransferHandler.java @@ -247,12 +247,18 @@ public class JMeterTreeTransferHandler extends TransferHandler { // working on the original node would be harder as // you'll have to deal with the insertion index offset if you re-order a node inside a parent JMeterTreeNode copy = (JMeterTreeNode) nodes[i].clone(); + + // first copy the children as the call to copy.add will modify the collection we're iterating on Enumeration enumFrom = nodes[i].children(); + List tmp = new ArrayList(); while (enumFrom.hasMoreElements()) { JMeterTreeNode child = (JMeterTreeNode) enumFrom.nextElement(); - copy.add(child); + tmp.add(child); } + for (JMeterTreeNode jMeterTreeNode : tmp) { + copy.add(jMeterTreeNode); + } guiInstance.getTreeModel().insertNodeInto(copy, target, index++); nodesForRemoval.add(nodes[i]); } diff --git a/xdocs/changes.xml b/xdocs/changes.xml index e15c43e244..627a92c1cd 100644 --- a/xdocs/changes.xml +++ b/xdocs/changes.xml @@ -141,6 +141,7 @@ It was therefore necessary to change the shortcut.
  • 54504 - Resource string not found: [clipboard_node_read_error]
  • 54538 - GUI: context menu is too big
  • 54847 - Cut & Paste is broken with tree multi-selection
  • +
  • 54870 - Tree D&D may lost leaf nodes (affected nightly build)