summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qmlcontext_p.h
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2009-08-05 06:23:41 (GMT)
committerAaron Kennedy <aaron.kennedy@nokia.com>2009-08-05 06:23:41 (GMT)
commit6e682a64153f0b3f96a412a72dab0158e3f8e365 (patch)
tree52ff7c6b6cf4485935029d6de0b9ef1601e12a2a /src/declarative/qml/qmlcontext_p.h
parent3c85728f2cb69817d4b72d3aab16b7a7fe6bdbf0 (diff)
downloadQt-6e682a64153f0b3f96a412a72dab0158e3f8e365.zip
Qt-6e682a64153f0b3f96a412a72dab0158e3f8e365.tar.gz
Qt-6e682a64153f0b3f96a412a72dab0158e3f8e365.tar.bz2
Use a linked list instead of a QSet<> to track expressions
While the QSet<> wasn't that expensive, the QmlContext only tracks the expressions to stop programmers doing something "stupid" so any overhead is unacceptable. This does give a measurable improvement.
Diffstat (limited to 'src/declarative/qml/qmlcontext_p.h')
-rw-r--r--src/declarative/qml/qmlcontext_p.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/declarative/qml/qmlcontext_p.h b/src/declarative/qml/qmlcontext_p.h
index 4240c8a..60655ae 100644
--- a/src/declarative/qml/qmlcontext_p.h
+++ b/src/declarative/qml/qmlcontext_p.h
@@ -67,6 +67,7 @@ class QmlContext;
class QmlExpression;
class QmlEngine;
class QmlExpression;
+class QmlExpressionPrivate;
class QmlContextPrivate : public QObjectPrivate
{
@@ -102,7 +103,8 @@ public:
void invalidateEngines();
QSet<QmlContext *> childContexts;
- QSet<QmlExpression *> childExpressions;
+
+ QmlExpressionPrivate *expressions;
QmlSimpleDeclarativeData contextData;
QObjectList contextObjects;