summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/declarative/graphicsitems/qdeclarativeloader.cpp5
-rw-r--r--tests/benchmarks/declarative/qdeclarativetime/tests/loader/Loaded.qml7
-rw-r--r--tests/benchmarks/declarative/qdeclarativetime/tests/loader/component_loader.qml16
-rw-r--r--tests/benchmarks/declarative/qdeclarativetime/tests/loader/empty_loader.qml15
-rw-r--r--tests/benchmarks/declarative/qdeclarativetime/tests/loader/no_loader.qml14
-rw-r--r--tests/benchmarks/declarative/qdeclarativetime/tests/loader/source_loader.qml16
6 files changed, 71 insertions, 2 deletions
diff --git a/src/declarative/graphicsitems/qdeclarativeloader.cpp b/src/declarative/graphicsitems/qdeclarativeloader.cpp
index c0d316f..544e9ec 100644
--- a/src/declarative/graphicsitems/qdeclarativeloader.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeloader.cpp
@@ -41,8 +41,9 @@
#include "qdeclarativeloader_p_p.h"
-#include <qdeclarativeengine_p.h>
#include <qdeclarativeinfo.h>
+#include <qdeclarativeengine_p.h>
+#include <qdeclarativeglobal_p.h>
QT_BEGIN_NAMESPACE
@@ -302,7 +303,7 @@ void QDeclarativeLoaderPrivate::_q_sourceLoaded()
return;
}
if (obj) {
- ctxt->setParent(obj);
+ QDeclarative_setParent_noEvent(ctxt, obj);
item = qobject_cast<QGraphicsObject *>(obj);
if (item) {
if (QDeclarativeItem* qmlItem = qobject_cast<QDeclarativeItem *>(item)) {
diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/Loaded.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/Loaded.qml
new file mode 100644
index 0000000..6f8d849
--- /dev/null
+++ b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/Loaded.qml
@@ -0,0 +1,7 @@
+import Qt 4.6
+
+Item {
+ Rectangle {}
+ Text {}
+ Image {}
+}
diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/component_loader.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/component_loader.qml
new file mode 100644
index 0000000..270add4
--- /dev/null
+++ b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/component_loader.qml
@@ -0,0 +1,16 @@
+import Qt 4.6
+import QDeclarativeTime 1.0 as QDeclarativeTime
+
+Item {
+
+ QDeclarativeTime.Timer {
+ component: Component {
+ Item {
+ Loader {
+ sourceComponent: Loaded {}
+ }
+ }
+ }
+ }
+}
+
diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/empty_loader.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/empty_loader.qml
new file mode 100644
index 0000000..d3b84cc
--- /dev/null
+++ b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/empty_loader.qml
@@ -0,0 +1,15 @@
+import Qt 4.6
+import QDeclarativeTime 1.0 as QDeclarativeTime
+
+Item {
+
+ QDeclarativeTime.Timer {
+ component: Component {
+ Item {
+ Loader {}
+ Loaded {}
+ }
+ }
+ }
+}
+
diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/no_loader.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/no_loader.qml
new file mode 100644
index 0000000..a94a12a
--- /dev/null
+++ b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/no_loader.qml
@@ -0,0 +1,14 @@
+import Qt 4.6
+import QDeclarativeTime 1.0 as QDeclarativeTime
+
+Item {
+
+ QDeclarativeTime.Timer {
+ component: Component {
+ Item {
+ Loaded {}
+ }
+ }
+ }
+}
+
diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/source_loader.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/source_loader.qml
new file mode 100644
index 0000000..39ed1a6
--- /dev/null
+++ b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/source_loader.qml
@@ -0,0 +1,16 @@
+import Qt 4.6
+import QDeclarativeTime 1.0 as QDeclarativeTime
+
+Item {
+
+ QDeclarativeTime.Timer {
+ component: Component {
+ Item {
+ Loader {
+ source: "Loaded.qml"
+ }
+ }
+ }
+ }
+}
+