summaryrefslogtreecommitdiffstats
path: root/src/declarative
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2009-06-24 01:07:26 (GMT)
committerMichael Brasser <michael.brasser@nokia.com>2009-06-24 01:07:26 (GMT)
commit124f5714e8e6ec1945d536e622b51304f2b32dd7 (patch)
tree3e2bc190738a4788bd0c33a9792d1ea86d365c9a /src/declarative
parentfcf88c88c1d730028e0fbc46cadce040d6fb7e02 (diff)
downloadQt-124f5714e8e6ec1945d536e622b51304f2b32dd7.zip
Qt-124f5714e8e6ec1945d536e622b51304f2b32dd7.tar.gz
Qt-124f5714e8e6ec1945d536e622b51304f2b32dd7.tar.bz2
Fix performance regression.
Diffstat (limited to 'src/declarative')
-rw-r--r--src/declarative/qml/qmlbasicscript.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/declarative/qml/qmlbasicscript.cpp b/src/declarative/qml/qmlbasicscript.cpp
index a679532..f02a176 100644
--- a/src/declarative/qml/qmlbasicscript.cpp
+++ b/src/declarative/qml/qmlbasicscript.cpp
@@ -830,7 +830,8 @@ QVariant QmlBasicScript::run(QmlContext *context, void *voidCache, CacheState *c
if (n.type == QmlBasicScriptNodeCache::Invalid || state == Reset) {
context->engine()->d_func()->loadCache(n, QLatin1String(id), static_cast<QmlContextPrivate*>(context->d_ptr));
- state = Incremental;
+ if (state != Reset)
+ state = Incremental;
}
if(!n.isValid())
@@ -855,7 +856,8 @@ QVariant QmlBasicScript::run(QmlContext *context, void *voidCache, CacheState *c
} else if (n.type == QmlBasicScriptNodeCache::Invalid || state == Reset) {
context->engine()->d_func()->fetchCache(n, QLatin1String(id), obj);
guard(n);
- state = Incremental;
+ if (state != Reset)
+ state = Incremental;
} else if (!valid(n, obj)) {
clearCache(dataCache);
*cached = Reset;