diff options
author | Alan Alpert <alan.alpert@nokia.com> | 2009-12-17 16:15:05 (GMT) |
---|---|---|
committer | Alan Alpert <alan.alpert@nokia.com> | 2009-12-17 16:15:05 (GMT) |
commit | 60320b4331a81873c12330264a26690d1150e99f (patch) | |
tree | b77af0d8d7251005ed51a7aa786f95d0926846f4 /src/declarative/graphicsitems | |
parent | ff8d23d5754ca7160ec1be6e5e8d573eca018713 (diff) | |
download | Qt-60320b4331a81873c12330264a26690d1150e99f.zip Qt-60320b4331a81873c12330264a26690d1150e99f.tar.gz Qt-60320b4331a81873c12330264a26690d1150e99f.tar.bz2 |
Get the value out of the QVariant properly
Diffstat (limited to 'src/declarative/graphicsitems')
-rw-r--r-- | src/declarative/graphicsitems/qmlgraphicspositioners.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/declarative/graphicsitems/qmlgraphicspositioners.cpp b/src/declarative/graphicsitems/qmlgraphicspositioners.cpp index f2164ab..e7fa7b8 100644 --- a/src/declarative/graphicsitems/qmlgraphicspositioners.cpp +++ b/src/declarative/graphicsitems/qmlgraphicspositioners.cpp @@ -169,11 +169,17 @@ QVariant QmlGraphicsBasePositioner::itemChange(GraphicsItemChange change, { Q_D(QmlGraphicsBasePositioner); if (change == ItemChildAddedChange){ - QmlGraphicsItem* child = value.value<QmlGraphicsItem*>(); + QGraphicsItem* item = value.value<QGraphicsItem*>(); + QmlGraphicsItem* child = 0; + if(item) + child = qobject_cast<QmlGraphicsItem*>(item->toGraphicsObject()); if (child) prePositioning(); } else if (change == ItemChildRemovedChange) { - QmlGraphicsItem* child = value.value<QmlGraphicsItem*>(); + QGraphicsItem* item = value.value<QGraphicsItem*>(); + QmlGraphicsItem* child = 0; + if(item) + child = qobject_cast<QmlGraphicsItem*>(item->toGraphicsObject()); if (child) { QmlGraphicsBasePositioner::PositionedItem posItem(child); int idx = positionedItems.find(posItem); |