diff options
-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); |