diff options
author | Marco Bubke <marco.bubke@qt.io> | 2023-03-28 14:58:44 +0200 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@qt.io> | 2023-03-28 15:00:48 +0000 |
commit | 6c1692f04202686ccc2cfbad773ecdac8bf25f84 (patch) | |
tree | d2beaf1e324b2c4e2833f795467dada130c051d2 | |
parent | 31d6daf209ca14aea1ebd80abd070f17d7f220d1 (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.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/plugins/qmldesigner/qmldesignerprojectmanager.cpp b/src/plugins/qmldesigner/qmldesignerprojectmanager.cpp index 766b18af463..cf5a8070377 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 *) {} |