forked from qt-creator/qt-creator
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>
This commit is contained in:
@@ -197,11 +197,11 @@ public:
|
|||||||
|
|
||||||
std::unique_ptr<ProjectStorageData> createProjectStorageData(::ProjectExplorer::Project *project)
|
std::unique_ptr<ProjectStorageData> createProjectStorageData(::ProjectExplorer::Project *project)
|
||||||
{
|
{
|
||||||
if (qEnvironmentVariableIsSet("QDS_ACTIVATE_PROJECT_STORAGE")) {
|
if constexpr (useProjectStorage()) {
|
||||||
return std::make_unique<ProjectStorageData>(project);
|
return std::make_unique<ProjectStorageData>(project);
|
||||||
}
|
} else {
|
||||||
|
|
||||||
return {};
|
return {};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
@@ -276,9 +276,21 @@ AsynchronousImageCache &QmlDesignerProjectManager::asynchronousImageCache()
|
|||||||
return imageCacheData()->asynchronousImageCache;
|
return imageCacheData()->asynchronousImageCache;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
ProjectStorage<Sqlite::Database> *dummyProjectStorage()
|
||||||
|
{
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
ProjectStorage<Sqlite::Database> &QmlDesignerProjectManager::projectStorage()
|
ProjectStorage<Sqlite::Database> &QmlDesignerProjectManager::projectStorage()
|
||||||
{
|
{
|
||||||
|
if constexpr (useProjectStorage()) {
|
||||||
return m_projectData->projectStorageData->storage;
|
return m_projectData->projectStorageData->storage;
|
||||||
|
} else {
|
||||||
|
return *dummyProjectStorage();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void QmlDesignerProjectManager::editorOpened(::Core::IEditor *) {}
|
void QmlDesignerProjectManager::editorOpened(::Core::IEditor *) {}
|
||||||
|
Reference in New Issue
Block a user