QmlDesigner: Do not specify version if it is -1 -1

Otherwise isBasedOn works differently than isSubclassOf for file components.
File components do not have a version.

Change-Id: If7009538ef97d119a348da99ed07919136c8b6e1
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Thomas Hartmann
2022-11-16 14:11:06 +01:00
committed by Tim Jenssen
parent 7a65a16718
commit 626e1175a6

View File

@@ -1704,8 +1704,11 @@ bool NodeMetaInfo::isBasedOn(const NodeMetaInfo &metaInfo) const
if constexpr (useProjectStorage()) { if constexpr (useProjectStorage()) {
return m_projectStorage->isBasedOn(m_typeId, metaInfo.m_typeId); return m_projectStorage->isBasedOn(m_typeId, metaInfo.m_typeId);
} else { } else {
return isValid() if (!isValid())
&& isSubclassOf(metaInfo.typeName(), metaInfo.majorVersion(), metaInfo.minorVersion()); return false;
if (majorVersion() == -1 && minorVersion() == -1)
return isSubclassOf(metaInfo.typeName());
return isSubclassOf(metaInfo.typeName(), metaInfo.majorVersion(), metaInfo.minorVersion());
} }
} }
@@ -1714,11 +1717,14 @@ bool NodeMetaInfo::isBasedOn(const NodeMetaInfo &metaInfo1, const NodeMetaInfo &
if constexpr (useProjectStorage()) { if constexpr (useProjectStorage()) {
return m_projectStorage->isBasedOn(m_typeId, metaInfo1.m_typeId, metaInfo2.m_typeId); return m_projectStorage->isBasedOn(m_typeId, metaInfo1.m_typeId, metaInfo2.m_typeId);
} else { } else {
return isValid() if (!isValid())
&& (isSubclassOf(metaInfo1.typeName(), metaInfo1.majorVersion(), metaInfo1.minorVersion()) return false;
|| isSubclassOf(metaInfo2.typeName(), if (majorVersion() == -1 && minorVersion() == -1)
metaInfo2.majorVersion(), return (isSubclassOf(metaInfo1.typeName()) || isSubclassOf(metaInfo2.typeName()));
metaInfo2.minorVersion()));
return (
isSubclassOf(metaInfo1.typeName(), metaInfo1.majorVersion(), metaInfo1.minorVersion())
|| isSubclassOf(metaInfo2.typeName(), metaInfo2.majorVersion(), metaInfo2.minorVersion()));
} }
} }
@@ -1732,14 +1738,16 @@ bool NodeMetaInfo::isBasedOn(const NodeMetaInfo &metaInfo1,
metaInfo2.m_typeId, metaInfo2.m_typeId,
metaInfo3.m_typeId); metaInfo3.m_typeId);
} else { } else {
return isValid() if (!isValid())
&& (isSubclassOf(metaInfo1.typeName(), metaInfo1.majorVersion(), metaInfo1.minorVersion()) return false;
|| isSubclassOf(metaInfo2.typeName(), if (majorVersion() == -1 && minorVersion() == -1)
metaInfo2.majorVersion(), return (isSubclassOf(metaInfo1.typeName()) || isSubclassOf(metaInfo2.typeName())
metaInfo2.minorVersion()) || isSubclassOf(metaInfo3.typeName()));
|| isSubclassOf(metaInfo3.typeName(),
metaInfo3.majorVersion(), return (
metaInfo3.minorVersion())); isSubclassOf(metaInfo1.typeName(), metaInfo1.majorVersion(), metaInfo1.minorVersion())
|| isSubclassOf(metaInfo2.typeName(), metaInfo2.majorVersion(), metaInfo2.minorVersion())
|| isSubclassOf(metaInfo3.typeName(), metaInfo3.majorVersion(), metaInfo3.minorVersion()));
} }
} }