Browse Source

fix memory leak

Evan Almloff 2 years ago
parent
commit
77381ceadd
1 changed files with 4 additions and 0 deletions
  1. 4 0
      packages/native-core/src/real_dom.rs

+ 4 - 0
packages/native-core/src/real_dom.rs

@@ -76,6 +76,10 @@ impl<S: State> RealDom<S> {
         if self.node_id_mapping.len() <= element_id.0 {
             self.node_id_mapping.resize(element_id.0 + 1, None);
         }
+        if let Some(Some(old_id)) = self.node_id_mapping.get(element_id.0) {
+            // free the memory associated with the old node
+            self.tree.remove(*old_id);
+        }
         self.node_id_mapping[element_id.0] = Some(node_id);
     }