aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp')
-rw-r--r--src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp27
1 files changed, 4 insertions, 23 deletions
diff --git a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp
index afd2aaa9a5..e6a61800e6 100644
--- a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp
+++ b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp
@@ -25,6 +25,7 @@
#include "nodemetainfo.h"
#include "model.h"
+#include "model/model_p.h"
#include "metainfo.h"
#include <enumeration.h>
@@ -620,8 +621,6 @@ public:
QSet<QByteArray> &prototypeCachePositives();
QSet<QByteArray> &prototypeCacheNegatives();
- static void clearCache();
-
private:
NodeMetaInfoPrivate(Model *model, TypeName type, int maj = -1, int min = -1);
@@ -657,13 +656,10 @@ private:
const Document *document() const;
QPointer<Model> m_model;
- static QHash<TypeName, Pointer> m_nodeMetaInfoCache;
const ObjectValue *m_objectValue = nullptr;
bool m_propertiesSetup = false;
};
-QHash<TypeName, NodeMetaInfoPrivate::Pointer> NodeMetaInfoPrivate::m_nodeMetaInfoCache;
-
bool NodeMetaInfoPrivate::isFileComponent() const
{
return m_isFileComponent;
@@ -705,11 +701,6 @@ QSet<QByteArray> &NodeMetaInfoPrivate::prototypeCacheNegatives()
return m_prototypeCacheNegatives;
}
-void NodeMetaInfoPrivate::clearCache()
-{
- m_nodeMetaInfoCache.clear();
-}
-
PropertyName NodeMetaInfoPrivate::defaultPropertyName() const
{
if (!m_defaultPropertyName.isEmpty())
@@ -724,17 +715,12 @@ static inline TypeName stringIdentifier( const TypeName &type, int maj, int min)
NodeMetaInfoPrivate::Pointer NodeMetaInfoPrivate::create(Model *model, const TypeName &type, int major, int minor)
{
- if (m_nodeMetaInfoCache.contains(stringIdentifier(type, major, minor))) {
- const Pointer &info = m_nodeMetaInfoCache.value(stringIdentifier(type, major, minor));
- if (info->model() == model)
- return info;
- else
- m_nodeMetaInfoCache.clear();
- }
+ if (model->d->m_nodeMetaInfoCache.contains(stringIdentifier(type, major, minor)))
+ return model->d->m_nodeMetaInfoCache.value(stringIdentifier(type, major, minor));
Pointer newData(new NodeMetaInfoPrivate(model, type, major, minor));
if (newData->isValid())
- m_nodeMetaInfoCache.insert(stringIdentifier(type, major, minor), newData);
+ model->d->m_nodeMetaInfoCache.insert(stringIdentifier(type, major, minor), newData);
return newData;
}
@@ -1671,11 +1657,6 @@ bool NodeMetaInfo::isQmlItem() const
|| isSubclassOf("QtQml.QtObject");
}
-void NodeMetaInfo::clearCache()
-{
- Internal::NodeMetaInfoPrivate::clearCache();
-}
-
bool NodeMetaInfo::isLayoutable() const
{
if (isSubclassOf("<cpp>.QDeclarativeBasePositioner"))