summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-05-24 09:54:46 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-05-24 09:54:46 (GMT)
commitc6d893bc8ada7ddd3b9896ab43d05f7d764edf51 (patch)
treee5e351346ce9aa3e13ed580d4ec0ef5f02a900da /src/gui
parent2e2ce693e16899dcfd1f39374a78bf2ca3a0e016 (diff)
parent4c975ee19b9671fbf76b546fc8ca2eff5bc69303 (diff)
downloadQt-c6d893bc8ada7ddd3b9896ab43d05f7d764edf51.zip
Qt-c6d893bc8ada7ddd3b9896ab43d05f7d764edf51.tar.gz
Qt-c6d893bc8ada7ddd3b9896ab43d05f7d764edf51.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: Compiler warning Remove incorrect ASSERT Be slightly more verbose on assigning undefined in binding. Doc fixes Don't crash when assigning a Behavior to a grouped property. Get rid of 'noise' when using GL and the top-level item is an Item. Fix visual tests after rename of the qml executable. Do not attempt to setParent of object in a different thread Don't polish QDeclarativeItems.
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/graphicsview/qgraphicsscene.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp
index 344df30..ae0abf9 100644
--- a/src/gui/graphicsview/qgraphicsscene.cpp
+++ b/src/gui/graphicsview/qgraphicsscene.cpp
@@ -2545,12 +2545,16 @@ void QGraphicsScene::addItem(QGraphicsItem *item)
return;
}
- if (d->unpolishedItems.isEmpty()) {
- QMetaMethod method = metaObject()->method(d->polishItemsIndex);
- method.invoke(this, Qt::QueuedConnection);
+ // QDeclarativeItems do not rely on initial itemChanged message, as the componentComplete
+ // function allows far more opportunity for delayed-construction optimization.
+ if (!item->d_ptr->isDeclarativeItem) {
+ if (d->unpolishedItems.isEmpty()) {
+ QMetaMethod method = metaObject()->method(d->polishItemsIndex);
+ method.invoke(this, Qt::QueuedConnection);
+ }
+ d->unpolishedItems.append(item);
+ item->d_ptr->pendingPolish = true;
}
- d->unpolishedItems.append(item);
- item->d_ptr->pendingPolish = true;
// Detach this item from its parent if the parent's scene is different
// from this scene.