aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/qml/qml/ftw/qfastmetabuilder.cpp3
-rw-r--r--src/qml/qml/qqmlcompiler.cpp6
2 files changed, 6 insertions, 3 deletions
diff --git a/src/qml/qml/ftw/qfastmetabuilder.cpp b/src/qml/qml/ftw/qfastmetabuilder.cpp
index 02f50911ea..08ea76b37e 100644
--- a/src/qml/qml/ftw/qfastmetabuilder.cpp
+++ b/src/qml/qml/ftw/qfastmetabuilder.cpp
@@ -197,7 +197,8 @@ void QFastMetaBuilder::setProperty(int index, const StringRef &name, const Strin
QMetaType::Type mtype, PropertyFlag flags, int notifySignal)
{
Q_ASSERT(!m_data.isEmpty());
- Q_ASSERT(!name.isEmpty() && !type.isEmpty());
+ Q_ASSERT(!name.isEmpty());
+ Q_ASSERT(!type.isEmpty());
QMetaObjectPrivate *p = priv(m_data);
Q_ASSERT(index < p->propertyCount);
diff --git a/src/qml/qml/qqmlcompiler.cpp b/src/qml/qml/qqmlcompiler.cpp
index 23c4adc7b4..1ae8240b62 100644
--- a/src/qml/qml/qqmlcompiler.cpp
+++ b/src/qml/qml/qqmlcompiler.cpp
@@ -2865,7 +2865,8 @@ bool QQmlCompiler::buildDynamicMeta(QQmlScript::Object *obj, DynamicMetaMode mod
for (Object::DynamicProperty *p = obj->dynamicProperties.first(); p; p = obj->dynamicProperties.next(p)) {
// Reserve space for name
- p->nameRef = builder.newString(p->name.utf8length());
+ if (p->type != Object::DynamicProperty::Alias || resolveAlias)
+ p->nameRef = builder.newString(p->name.utf8length());
int propertyType = 0;
bool readonly = false;
@@ -3231,6 +3232,8 @@ bool QQmlCompiler::compileAlias(QFastMetaBuilder &builder,
int propIndex, int aliasIndex,
Object::DynamicProperty &prop)
{
+ Q_ASSERT(!prop.nameRef.isEmpty());
+ Q_ASSERT(prop.typeRef.isEmpty());
if (!prop.defaultValue)
COMPILE_EXCEPTION(obj, tr("No property alias location"));
@@ -3325,7 +3328,6 @@ bool QQmlCompiler::compileAlias(QFastMetaBuilder &builder,
VMD *vmd = (QQmlVMEMetaData *)data.data();
*(vmd->aliasData() + aliasIndex) = aliasData;
- prop.nameRef = builder.newString(prop.name.utf8length());
prop.resolvedCustomTypeName = pool->NewByteArray(typeName);
prop.typeRef = builder.newString(typeName.length());