aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml')
-rw-r--r--src/qml/compiler/qqmlcodegenerator.cpp6
-rw-r--r--src/qml/qml/qqmlcompiler.cpp5
2 files changed, 8 insertions, 3 deletions
diff --git a/src/qml/compiler/qqmlcodegenerator.cpp b/src/qml/compiler/qqmlcodegenerator.cpp
index ecb643e0f5..13b23fde68 100644
--- a/src/qml/compiler/qqmlcodegenerator.cpp
+++ b/src/qml/compiler/qqmlcodegenerator.cpp
@@ -1550,8 +1550,10 @@ V4IR::Expr *JSCodeGen::fallbackNameLookup(const QString &name, int line, int col
V4IR::Temp *result = _block->TEMP(_block->newTemp());
_block->MOVE(result, s);
result = _block->TEMP(result->index);
- initMetaObjectResolver(&result->memberResolver, mapping.type);
- result->memberResolver.flags |= AllPropertiesAreFinal;
+ if (mapping.type) {
+ initMetaObjectResolver(&result->memberResolver, mapping.type);
+ result->memberResolver.flags |= AllPropertiesAreFinal;
+ }
result->isReadOnly = true; // don't allow use as lvalue
return result;
}
diff --git a/src/qml/qml/qqmlcompiler.cpp b/src/qml/qml/qqmlcompiler.cpp
index 2e208f2f3b..3dd9d6a14d 100644
--- a/src/qml/qml/qqmlcompiler.cpp
+++ b/src/qml/qml/qqmlcompiler.cpp
@@ -3711,7 +3711,10 @@ bool QQmlCompiler::completeComponentBuild()
JSCodeGen::IdMapping m;
m.name = o->id;
m.idIndex = o->idIndex;
- m.type = o->metatype;
+ if (output->types[o->type].isFullyDynamicType)
+ m.type = 0;
+ else
+ m.type = o->metatype;
idMapping << m;
}
}