summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/declarative/graphicsitems/qmlgraphicspositioners.cpp10
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);