From 54fa3bc05416208e601fee4afb351da629d9388f Mon Sep 17 00:00:00 2001 From: Pierre Tachoire Date: Tue, 6 Jan 2026 11:52:47 +0100 Subject: [PATCH] remove children from previous parent --- src/browser/webapi/DocumentFragment.zig | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/browser/webapi/DocumentFragment.zig b/src/browser/webapi/DocumentFragment.zig index 24d8d5a5..be2b841a 100644 --- a/src/browser/webapi/DocumentFragment.zig +++ b/src/browser/webapi/DocumentFragment.zig @@ -156,6 +156,12 @@ pub fn replaceChildren(self: *DocumentFragment, nodes: []const Node.NodeOrText, const parent_is_connected = parent.isConnected(); for (nodes) |node_or_text| { const child = try node_or_text.toNode(page); + + // If the new children has already a parent, remove from it. + if (child._parent) |p| { + page.removeNode(p, child, .{ .will_be_reconnected = true }); + } + try page.appendNode(parent, child, .{ .child_already_connected = parent_is_connected }); } }