diff --git a/src/osg/Drawable.cpp b/src/osg/Drawable.cpp index d2ea9a2cf..61fdf1795 100644 --- a/src/osg/Drawable.cpp +++ b/src/osg/Drawable.cpp @@ -299,6 +299,9 @@ Drawable::Drawable(const Drawable& drawable,const CopyOp& copyop): Drawable::~Drawable() { + // cleanly detatch any associated stateset (include remove parent links) + setStateSet(0); + dirtyDisplayList(); } diff --git a/src/osg/Node.cpp b/src/osg/Node.cpp index 7043eef6a..6cddd0318 100644 --- a/src/osg/Node.cpp +++ b/src/osg/Node.cpp @@ -57,6 +57,8 @@ Node::Node(const Node& node,const CopyOp& copyop): Node::~Node() { + // cleanly detatch any associated stateset (include remove parent links) + setStateSet(0); } void Node::addParent(osg::Group* node)