Make it possible to handle pointers to QObject derived in QML.
authorStephen Kelly <stephen.kelly@kdab.com>
Thu, 12 Jan 2012 19:01:15 +0000 (20:01 +0100)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Tue, 10 Sep 2013 09:17:46 +0000 (11:17 +0200)
commit59ed8c355b99df0b949003a438ab850274261aa0
tree7f019270e9e8457d385d94c6e8a9b1679b396fb2
parentf20d726766bf5e875f96fc5ce8885afe5c3fae4a
Make it possible to handle pointers to QObject derived in QML.

This way, properties of QObject derived types can be read in QML
code for example:

 Q_PROPERTY(MyObject* obj READ obj CONSTANT)

Previously, only QObject* types could be read by QML:

 Q_PROPERTY(QObject* obj READ obj CONSTANT)

This meant that multiple properties and methods had to be created
for classes which were relevant to both QML and non-QML code.

This patch lifts that restriction.

As a consequence, we can also remove a Q_EXPECT_FAIL from
the qqmllanguage unit test. That test was introduced in
commit 92562eacbc3c (Allow signal parameters which are custom QML
object-types, 2012-07-13) to document knowledge of the limitation
while fixing it as much as possible.

Task-number: QTBUG-26662

Change-Id: Ic85fa73c6f3655189438ec509765bae2eab9993a
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
src/qml/qml/qqmlproperty.cpp
src/qml/qml/qqmlpropertycache.cpp
src/qml/qml/v8/qv8engine.cpp
tests/auto/qml/qqmlcontext/tst_qqmlcontext.cpp
tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
tests/auto/qml/qqmlproperty/tst_qqmlproperty.cpp