aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@qt.io>2023-03-28 14:58:44 +0200
committerTim Jenssen <tim.jenssen@qt.io>2023-03-28 15:00:48 +0000
commit6c1692f04202686ccc2cfbad773ecdac8bf25f84 (patch)
treed2beaf1e324b2c4e2833f795467dada130c051d2
parent31d6daf209ca14aea1ebd80abd070f17d7f220d1 (diff)
QmlDesigner: Fix access to nullptr
We try to access projectStorageData but it does not exists. Now we return a dummyProjectStorage() instead. Because it is never accessed if we don't use the project storage we should be fine. Change-Id: Ic36a27472e95012b29b15ad33d2abe01507d64b4 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Tim Jenssen <tim.jenssen@qt.io> (cherry picked from commit c940cc546626e4cce8034d72dfc67de8dc7a55dc)
-rw-r--r--src/plugins/qmldesigner/qmldesignerprojectmanager.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/plugins/qmldesigner/qmldesignerprojectmanager.cpp b/src/plugins/qmldesigner/qmldesignerprojectmanager.cpp
index 766b18af46..cf5a807037 100644
--- a/src/plugins/qmldesigner/qmldesignerprojectmanager.cpp
+++ b/src/plugins/qmldesigner/qmldesignerprojectmanager.cpp
@@ -185,11 +185,11 @@ public:
std::unique_ptr<ProjectStorageData> createProjectStorageData(::ProjectExplorer::Project *project)
{
- if (qEnvironmentVariableIsSet("QDS_ACTIVATE_PROJECT_STORAGE")) {
+ if constexpr (useProjectStorage()) {
return std::make_unique<ProjectStorageData>(project);
+ } else {
+ return {};
}
-
- return {};
}
} // namespace
@@ -262,9 +262,21 @@ AsynchronousImageCache &QmlDesignerProjectManager::asynchronousImageCache()
return imageCacheData()->asynchronousImageCache;
}
+namespace {
+ProjectStorage<Sqlite::Database> *dummyProjectStorage()
+{
+ return nullptr;
+}
+
+} // namespace
+
ProjectStorage<Sqlite::Database> &QmlDesignerProjectManager::projectStorage()
{
- return m_projectData->projectStorageData->storage;
+ if constexpr (useProjectStorage()) {
+ return m_projectData->projectStorageData->storage;
+ } else {
+ return *dummyProjectStorage();
+ }
}
void QmlDesignerProjectManager::editorOpened(::Core::IEditor *) {}