diff --git a/src/domain/UBGraphicsGroupContainerItem.cpp b/src/domain/UBGraphicsGroupContainerItem.cpp index 75e57711..bed3b219 100644 --- a/src/domain/UBGraphicsGroupContainerItem.cpp +++ b/src/domain/UBGraphicsGroupContainerItem.cpp @@ -32,6 +32,16 @@ UBGraphicsGroupContainerItem::UBGraphicsGroupContainerItem(QGraphicsItem *parent } +UBGraphicsGroupContainerItem::~UBGraphicsGroupContainerItem() +{ + foreach (QGraphicsItem *item, childItems()) + { + removeFromGroup(item); + if (item && item->scene()) + item->scene()->removeItem(item); + } +} + void UBGraphicsGroupContainerItem::addToGroup(QGraphicsItem *item) { if (!item) { diff --git a/src/domain/UBGraphicsGroupContainerItem.h b/src/domain/UBGraphicsGroupContainerItem.h index 1eca384a..535627eb 100644 --- a/src/domain/UBGraphicsGroupContainerItem.h +++ b/src/domain/UBGraphicsGroupContainerItem.h @@ -10,6 +10,7 @@ class UBGraphicsGroupContainerItem : public QGraphicsItem, public UBItem, public public: UBGraphicsGroupContainerItem (QGraphicsItem *parent = 0); + virtual ~UBGraphicsGroupContainerItem(); void addToGroup(QGraphicsItem *item); void removeFromGroup(QGraphicsItem *item);