diff options
Diffstat (limited to 'libs/canvas/item.cc')
-rw-r--r-- | libs/canvas/item.cc | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/libs/canvas/item.cc b/libs/canvas/item.cc index 9b44c333f5..90b53b5bfd 100644 --- a/libs/canvas/item.cc +++ b/libs/canvas/item.cc @@ -22,21 +22,17 @@ Item::Item (Canvas* canvas) } Item::Item (Group* parent) - : _parent (parent) + : _canvas (parent->canvas ()) + , _parent (parent) { - assert (parent); - _canvas = _parent->canvas (); - init (); } Item::Item (Group* parent, Duple position) - : _parent (parent) + : _canvas (parent->canvas()) + , _parent (parent) , _position (position) { - assert (parent); - _canvas = _parent->canvas (); - init (); } @@ -56,7 +52,9 @@ Item::init () Item::~Item () { - _canvas->item_going_away (this, _bounding_box); + if (_canvas) { + _canvas->item_going_away (this, _bounding_box); + } if (_parent) { _parent->remove (this); |