Fix composite type registration in the new compiler
authorSimon Hausmann <simon.hausmann@digia.com>
Mon, 30 Sep 2013 03:52:31 +0000 (05:52 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Mon, 30 Sep 2013 16:21:39 +0000 (18:21 +0200)
commit2ec852ada2a51e1da47a2ccbb93104fc7938bfc4
treee056c3f931d00fd007f3b4bd1b5b4b907a953151
parent172111ae0703d223575862f60e0ceba1973fe681
Fix composite type registration in the new compiler

When setting a property of a composite type like this

    property MyType foo: MyType {}

and MyType.qml defines the new type, we test for assignability of MyType to the
property foo. This test happens before MyType is instantiated and it relies on
the meta-type in the CompiledData being set. Therefore this patch makes sure
that the meta-type and the list meta-type are set accordingly at type
compilation time, not instantiation time, similar to how it's done in the VME.

Change-Id: Id7231e0a0113fa63ba6508bfbb1565dd554c5e56
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
src/qml/qml/qqmlcompiler_p.h
src/qml/qml/qqmlobjectcreator.cpp
src/qml/qml/qqmltypeloader.cpp