aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2019-10-23 10:51:25 +0200
committerUlf Hermann <ulf.hermann@qt.io>2019-10-24 12:11:39 +0200
commit31be482e740a6aec1243eb7ba3d865b9d4050641 (patch)
treec33076717672c9418ba18a26f7ebd3ca15289311 /src
parentfbc463e84d5cc6012953140c93f6b18f78e66bf8 (diff)
QML: Consistently check for debugger before loading cache files
In debug mode we don't want to load cache files. Fixes: QTBUG-79443 Change-Id: Ie3e2c70d54e66f24846070aee952a86934099695 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/qml/qml/qqmlscriptblob.cpp4
-rw-r--r--src/qml/qml/qqmltypedata.cpp8
-rw-r--r--src/qml/qml/qqmltypeloader.cpp9
-rw-r--r--src/qml/qml/qqmltypeloader_p.h4
4 files changed, 7 insertions, 18 deletions
diff --git a/src/qml/qml/qqmlscriptblob.cpp b/src/qml/qml/qqmlscriptblob.cpp
index 6ac30d3ab5..eb103dc434 100644
--- a/src/qml/qml/qqmlscriptblob.cpp
+++ b/src/qml/qml/qqmlscriptblob.cpp
@@ -68,7 +68,7 @@ QQmlRefPointer<QQmlScriptData> QQmlScriptBlob::scriptData() const
void QQmlScriptBlob::dataReceived(const SourceCodeData &data)
{
- if (!diskCacheDisabled() || diskCacheForced()) {
+ if (diskCacheEnabled()) {
QQmlRefPointer<QV4::ExecutableCompilationUnit> unit
= QV4::ExecutableCompilationUnit::create();
QString error;
@@ -132,7 +132,7 @@ void QQmlScriptBlob::dataReceived(const SourceCodeData &data)
auto executableUnit = QV4::ExecutableCompilationUnit::create(std::move(unit));
- if ((!diskCacheDisabled() || diskCacheForced()) && !isDebugging()) {
+ if (diskCacheEnabled()) {
QString errorString;
if (executableUnit->saveToDisk(url(), &errorString)) {
QString error;
diff --git a/src/qml/qml/qqmltypedata.cpp b/src/qml/qml/qqmltypedata.cpp
index cfdcf6aad5..0fd5bc83e6 100644
--- a/src/qml/qml/qqmltypedata.cpp
+++ b/src/qml/qml/qqmltypedata.cpp
@@ -107,10 +107,7 @@ void QQmlTypeData::unregisterCallback(TypeDataCallback *callback)
bool QQmlTypeData::tryLoadFromDiskCache()
{
- if (diskCacheDisabled() && !diskCacheForced())
- return false;
-
- if (isDebugging())
+ if (!diskCacheEnabled())
return false;
QV4::ExecutionEngine *v4 = typeLoader()->engine()->handle();
@@ -621,8 +618,7 @@ void QQmlTypeData::compile(const QQmlRefPointer<QQmlTypeNameCache> &typeNameCach
return;
}
- const bool trySaveToDisk = (!diskCacheDisabled() || diskCacheForced())
- && !m_document->jsModule.debugMode && !typeRecompilation;
+ const bool trySaveToDisk = diskCacheEnabled() && !typeRecompilation;
if (trySaveToDisk) {
QString errorString;
if (m_compiledData->saveToDisk(url(), &errorString)) {
diff --git a/src/qml/qml/qqmltypeloader.cpp b/src/qml/qml/qqmltypeloader.cpp
index 62007effdd..c6c3ee5523 100644
--- a/src/qml/qml/qqmltypeloader.cpp
+++ b/src/qml/qml/qqmltypeloader.cpp
@@ -703,14 +703,9 @@ bool QQmlTypeLoader::Blob::isDebugging() const
return typeLoader()->engine()->handle()->debugger() != nullptr;
}
-bool QQmlTypeLoader::Blob::diskCacheDisabled()
+bool QQmlTypeLoader::Blob::diskCacheEnabled() const
{
- return disableDiskCache();
-}
-
-bool QQmlTypeLoader::Blob::diskCacheForced()
-{
- return forceDiskCache();
+ return (!disableDiskCache() || forceDiskCache()) && !isDebugging();
}
bool QQmlTypeLoader::Blob::qmldirDataAvailable(const QQmlRefPointer<QQmlQmldirData> &data, QList<QQmlError> *errors)
diff --git a/src/qml/qml/qqmltypeloader_p.h b/src/qml/qml/qqmltypeloader_p.h
index 612d6777ed..38a7e05961 100644
--- a/src/qml/qml/qqmltypeloader_p.h
+++ b/src/qml/qml/qqmltypeloader_p.h
@@ -128,9 +128,7 @@ public:
virtual QString stringAt(int) const { return QString(); }
bool isDebugging() const;
-
- static bool diskCacheDisabled();
- static bool diskCacheForced();
+ bool diskCacheEnabled() const;
QQmlImports m_importCache;
QVector<PendingImportPtr> m_unresolvedImports;