diff options
author | Michael Brasser <michael.brasser@nokia.com> | 2009-06-24 01:07:26 (GMT) |
---|---|---|
committer | Michael Brasser <michael.brasser@nokia.com> | 2009-06-24 01:07:26 (GMT) |
commit | 124f5714e8e6ec1945d536e622b51304f2b32dd7 (patch) | |
tree | 3e2bc190738a4788bd0c33a9792d1ea86d365c9a /src/declarative | |
parent | fcf88c88c1d730028e0fbc46cadce040d6fb7e02 (diff) | |
download | Qt-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.cpp | 6 |
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; |