Browse Source

fix assertion failure with merge_bundles

David Rose 18 years ago
parent
commit
2ded3768ac
2 changed files with 3 additions and 0 deletions
  1. 1 0
      panda/src/chan/partBundle.h
  2. 2 0
      panda/src/char/character.cxx

+ 1 - 0
panda/src/chan/partBundle.h

@@ -205,6 +205,7 @@ private:
   static TypeHandle _type_handle;
   static TypeHandle _type_handle;
 
 
   friend class PartBundleNode;
   friend class PartBundleNode;
+  friend class Character;
   friend class MovingPartBase;
   friend class MovingPartBase;
   friend class MovingPartMatrix;
   friend class MovingPartMatrix;
   friend class MovingPartScalar;
   friend class MovingPartScalar;

+ 2 - 0
panda/src/char/character.cxx

@@ -265,7 +265,9 @@ merge_bundles(PartBundle *old_bundle, PartBundle *new_bundle) {
   // First, merge the bundles themselves.
   // First, merge the bundles themselves.
   JointMap joint_map;
   JointMap joint_map;
   r_merge_bundles(joint_map, old_bundle, new_bundle);
   r_merge_bundles(joint_map, old_bundle, new_bundle);
+  old_bundle->remove_node(this);
   _bundles[index] = new_bundle;
   _bundles[index] = new_bundle;
+  new_bundle->add_node(this);
 
 
   // Now convert the geometry to use the new bundle.
   // Now convert the geometry to use the new bundle.
   GeomVertexMap gvmap;
   GeomVertexMap gvmap;