From fcb9845cb1e5120f3c1237acb13a1424c2887273 Mon Sep 17 00:00:00 2001 From: Aleksei Kanash Date: Wed, 22 Aug 2012 18:58:48 +0300 Subject: [PATCH] Fixed sankore crashes at deletion groups at deletion a scene. --- src/domain/UBGraphicsGroupContainerItem.cpp | 10 ++++++++++ src/domain/UBGraphicsGroupContainerItem.h | 1 + 2 files changed, 11 insertions(+) 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);