diff --git a/src/nodes/drawable/model.rs b/src/nodes/drawable/model.rs index c1b30cc..3447fdb 100644 --- a/src/nodes/drawable/model.rs +++ b/src/nodes/drawable/model.rs @@ -646,7 +646,12 @@ impl ModelAspect for Model { } impl Drop for Model { fn drop(&mut self) { - for p in self.parts.get().iter().flat_map(|v|v.iter()) { + for p in self.parts.get().iter().flat_map(|v| v.iter()) { + if let Some(node) = p.spatial.node() { + node.destroy(); + } + } + for p in self.pre_bound_parts.lock().iter() { if let Some(node) = p.spatial.node() { node.destroy(); }