summaryrefslogtreecommitdiff
path: root/src/lib/dkdm_wrapper.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/dkdm_wrapper.cc')
-rw-r--r--src/lib/dkdm_wrapper.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lib/dkdm_wrapper.cc b/src/lib/dkdm_wrapper.cc
index 316a0581e..809739e06 100644
--- a/src/lib/dkdm_wrapper.cc
+++ b/src/lib/dkdm_wrapper.cc
@@ -75,6 +75,7 @@ DKDMGroup::add (shared_ptr<DKDMBase> child)
{
DCPOMATIC_ASSERT (child);
_children.push_back (child);
+ child->set_parent (dynamic_pointer_cast<DKDMGroup> (shared_from_this ()));
}
void
@@ -83,6 +84,7 @@ DKDMGroup::remove (shared_ptr<DKDMBase> child)
for (list<shared_ptr<DKDMBase> >::iterator i = _children.begin(); i != _children.end(); ++i) {
if (*i == child) {
_children.erase (i);
+ child->set_parent (shared_ptr<DKDMGroup> ());
return;
}
shared_ptr<DKDMGroup> g = dynamic_pointer_cast<DKDMGroup> (*i);