diff options
author | 2023-03-20 00:18:41 +0100 | |
---|---|---|
committer | 2023-03-20 00:20:45 +0100 | |
commit | 0231ed6f1d5929d84bb81e6673d3319a24f08b16 (patch) | |
tree | fbb5582d498dbaaa142a74080cc02e91e5760847 /winit/src/application.rs | |
parent | d7fffaa801423ae989fa7693f5b1cb424194e1ff (diff) | |
download | iced-0231ed6f1d5929d84bb81e6673d3319a24f08b16.tar.gz iced-0231ed6f1d5929d84bb81e6673d3319a24f08b16.tar.bz2 iced-0231ed6f1d5929d84bb81e6673d3319a24f08b16.zip |
winit: Fix replacement of node in wasm
Replacing a node ends up with the following error:
Node.replaceChild: Child to be replaced is not a child of this node
It seems that Node.replaceChild is not recommended, and instead
Element.replaceWith should be preferred. Using it avoids the panic.
Diffstat (limited to 'winit/src/application.rs')
-rw-r--r-- | winit/src/application.rs | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/winit/src/application.rs b/winit/src/application.rs index b13b7214..31654f26 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -179,13 +179,17 @@ where .unwrap_or(None) }); - let _ = match target { - Some(node) => node - .replace_child(&canvas, &node) - .expect(&format!("Could not replace #{}", node.id())), - None => body - .append_child(&canvas) - .expect("Append canvas to HTML body"), + match target { + Some(node) => { + let _ = node + .replace_with_with_node_1(&canvas) + .expect(&format!("Could not replace #{}", node.id())); + } + None => { + let _ = body + .append_child(&canvas) + .expect("Append canvas to HTML body"); + } }; } |