瀏覽代碼

fix memory leak

Evan Almloff 2 年之前
父節點
當前提交
77381ceadd
共有 1 個文件被更改,包括 4 次插入0 次删除
  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 {
         if self.node_id_mapping.len() <= element_id.0 {
             self.node_id_mapping.resize(element_id.0 + 1, None);
             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);
         self.node_id_mapping[element_id.0] = Some(node_id);
     }
     }