diff options
Diffstat (limited to 'src/generic/problemresolver/incremental_expression.h')
-rw-r--r-- | src/generic/problemresolver/incremental_expression.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/generic/problemresolver/incremental_expression.h b/src/generic/problemresolver/incremental_expression.h index 4b6b73c1..7c8fa9c5 100644 --- a/src/generic/problemresolver/incremental_expression.h +++ b/src/generic/problemresolver/incremental_expression.h @@ -276,14 +276,17 @@ public: ~expression_box() { - child->remove_parent(this); + if(child.valid()) + child->remove_parent(this); } void set_child(const cwidget::util::ref_ptr<expression<T> > &new_child) { - child->remove_parent(this); + if(child.valid()) + child->remove_parent(this); child = new_child; - new_child->add_parent(this); + if(new_child.valid()) + new_child->add_parent(this); } const cwidget::util::ref_ptr<expression<T> > &get_child() const |