summaryrefslogtreecommitdiff
path: root/libs/canvas/item.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/canvas/item.cc')
-rw-r--r--libs/canvas/item.cc16
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);