diff options
author | Sami Merila <sami.merila@nokia.com> | 2010-09-16 07:52:35 (GMT) |
---|---|---|
committer | Sami Merila <sami.merila@nokia.com> | 2010-09-16 07:52:35 (GMT) |
commit | 92c4522ff48c616738f5ba3e117c347c40cc2537 (patch) | |
tree | 18b68bb6a0fa0029324e3a2285be705b2514fc15 /src/gui | |
parent | f055e5daf17d73a56ac956c273a0a7160e634e7b (diff) | |
parent | 554eedb76ecceca5123992147ed1aa48aabc6662 (diff) | |
download | Qt-92c4522ff48c616738f5ba3e117c347c40cc2537.zip Qt-92c4522ff48c616738f5ba3e117c347c40cc2537.tar.gz Qt-92c4522ff48c616738f5ba3e117c347c40cc2537.tar.bz2 |
Merge branch '4.7' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into 4.7
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/graphicsview/qgraphicsitem.cpp | 10 | ||||
-rw-r--r-- | src/gui/graphicsview/qgraphicsitem_p.h | 1 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp index 7a5b8de..2600d06 100644 --- a/src/gui/graphicsview/qgraphicsitem.cpp +++ b/src/gui/graphicsview/qgraphicsitem.cpp @@ -7676,6 +7676,14 @@ QGraphicsObject *QGraphicsItemPrivate::children_at(QDeclarativeListProperty<QGra return 0; } +void QGraphicsItemPrivate::children_clear(QDeclarativeListProperty<QGraphicsObject> *list) +{ + QGraphicsItemPrivate *d = QGraphicsItemPrivate::get(static_cast<QGraphicsObject *>(list->object)); + int childCount = d->children.count(); + for (int index = 0; index < childCount; index++) + QGraphicsItemPrivate::get(d->children.at(0))->setParentItemHelper(0, /*newParentVariant=*/0, /*thisPointerVariant=*/0); +} + /*! Returns a list of this item's children. @@ -7689,7 +7697,7 @@ QDeclarativeListProperty<QGraphicsObject> QGraphicsItemPrivate::childrenList() if (isObject) { QGraphicsObject *that = static_cast<QGraphicsObject *>(q); return QDeclarativeListProperty<QGraphicsObject>(that, &children, children_append, - children_count, children_at); + children_count, children_at, children_clear); } else { //QGraphicsItem is not supported for this property return QDeclarativeListProperty<QGraphicsObject>(); diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h index d60dffb..cce9439 100644 --- a/src/gui/graphicsview/qgraphicsitem_p.h +++ b/src/gui/graphicsview/qgraphicsitem_p.h @@ -487,6 +487,7 @@ public: static void children_append(QDeclarativeListProperty<QGraphicsObject> *list, QGraphicsObject *item); static int children_count(QDeclarativeListProperty<QGraphicsObject> *list); static QGraphicsObject *children_at(QDeclarativeListProperty<QGraphicsObject> *list, int); + static void children_clear(QDeclarativeListProperty<QGraphicsObject> *list); inline QTransform transformToParent() const; inline void ensureSortedChildren(); |