| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Those are not only foreign types, but also extension types which add
additional properties. Thus we also need to mark them as QML_EXTENDED.
Change-Id: I7a0469f7760887318a2b34bc5fcb85f011c0b0bf
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 0aad1a6c3cb6e1e1e9892a328c0aa84814d94a5a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If OUTPUT_DIRECTORY is set, all the QML files, as well as the qmldir and
the plugin should end up in that directory. We should not confuse that
with the install directory, which is separate.
For qt_internal_add_qml_module(), we can provide the defaults for both
OUTPUT_DIRECTORY and INSTALL_DIRECTORY. For the latter, don't support
a separate INSTALL_LOCATION keyword, only use INSTALL_DIRECTORY.
With these changes, qtbase no longer has to contain qml-specific
logic for these paths in QtPluginHelpers.cmake.
Refactor the way arguments are collected and passed through to the
internal call to qt6_add_qml_module(). This simplifies the code and
also exposed that QML_FILES was not being identified as an allowed
argument, TYPEINFO was the wrong type of argument and DO_NOT_INSTALL
was not a valid argument (or at least was ignored).
The qt_internal_add_module() function was also duplicating logic that
was largely already implemented by qt6_add_qml_module(). Rework
things a little to remove that duplication.
Task-number: QTBUG-88763
Change-Id: I629ff63a9f8302c79694970f7b8e664a2b5d587b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit c42d558dc9ff89d452546412ee88a16ae1e324e4)
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-91717
Change-Id: Id19e08589206253b96c76bc40a799ccd95b0e0bf
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
(cherry picked from commit 9970ebb277db5f11c8a7e72099fdd056a6d8310c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
We need to remove all the QML-specific arguments.
Change-Id: I99a1712251c5cf9cb6dfe399a2f1177d435a2af7
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 078bf865360391d960421cacc5e0d58a6bb07a11)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a UNC path is used to locate the qmldir then when it is checked
later on the original path will be compared against the one that QUrl
returns. However, QUrl will convert the case of the host name to be
all lower-case whereas the original string may have been in upper-case.
For example, QUrl::fromLocalFile("//QT-L-R90X9VHB/tasks").toString()
will output "file://qt-l-r90x9vhb/tasks".
So in this case, the absoluteFilePath is changed at this point so that
it will match what QUrl has for the same path to avoid a problem with
it no being found.
Change-Id: I2cd5d74bfec06c01635f80574ac1a6d479792855
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit e0400d08755bb40c303bbe330bc3bd6045436c22)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously HeapObject::GeneratorObject utilized a ValueArray member to store stack information.
As we rely on all HeapObject members to have a constant size in order for QV4Table::inlinePropertyOffset
to remain accurate, this lead to a memory conflict when a user defined his own property on the Generator.
Please do not use ValueArray for any types that are user accessible or that you intend to add properties to.
Now the stack information is stored into ArrayObjects instead which circumvents the issue.
Fixes: QTBUG-91491
Change-Id: Id6f638bf36a3ae3c9320ac99e67214c48dc81226
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
(cherry picked from commit 7ea690c61dabd2485e80e7fae9aed392ba02c846)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-91519
Change-Id: Idfe3116c2e94b8e96300d72e15db0bc78425f517
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 2cb306c194625626957fcde44bd56473b0436f83)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QML files shall always be installed together with the module. Not
installing them will just cause confusion.
Change-Id: I380b03f1cfce92f2c1fd1e0205e0fa307b385097
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 814ab9d05e947843de5e5708fb644f98db4765bd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
QObject::staticMetaObject is not very useful.
Change-Id: Ifc40e1fa08755c59ff6b8ae23a7a1257f34507da
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 89ebac46d7bde1df265b8970132bf09dc790eca2)
|
|
|
|
|
|
|
|
|
|
|
| |
All we need is to get the meta-object from the object. This also works
with a const pointer, which is helpful for const-correctness in the FSM
framework.
Change-Id: Ie554fe81e67bced5f74c844c72e7f9b0df7ded58
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit d0db469788039cf73406ba3f489b7a00b0601f01)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Any target created by a call to qt6_add_executable() that also links to
the Qml target will now automatically call qt6_import_qml_plugins() in
qt6_finalize_executable() for scenarios that need it. This is only
relevant for static builds and only when not doing a top level Qt
superbuild.
The finalizers feature requires CMake 3.18. If using an earlier CMake
version, the project is still responsible for calling
qt6_import_qml_plugins() itself.
Fixes: QTBUG-86669
Change-Id: I0f0b3f700ab6f1240b2373cb4155f52dc8991d2e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit c71c48f5125c116f01f615f51f10e4f2877b2b1d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Qt Virtual Keyboard copies some QML resources to the BINARY directory
for dynamic configuration of resources.
_qt_internal_quick_compiler_process_resources assumes that all QML
source files are located under the SOURCE directory. This is perfectly
fine as long as the SOURCE and BINARY directories are located on the
same drive in Windows. Otherwise, the relative path cannot be resolved
and cmake is aborted because a directory cannot be created below.
Fix this problem by making sure that the relative path is resolved
against the correct base directory.
Change-Id: I93e31e9f2720d448a48b6e8075cee0c01f59b584
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 1bc4fb2e400c4c5865282a711d1a443ca0ab26fa)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Now primitives such as integers and strings should also work.
Fixes: QTBUG-85615
Change-Id: I201d1844b7272ca50e32f1e33e9ac357b5e68dfe
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 64102ae231317eb6f637304918e55153dadef72d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
We want to do that in other places, too.
Change-Id: Id42495d239c2dccffa390478c8b57ec1acab7408
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 1daee0b03050487cfc4b483262ca73e5a24267ff)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
Document the property not the enum type.
Fixes: QTBUG-91196
Change-Id: Id11a436caf1c683a0e70a1b8e8ce86c6118725d8
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
(cherry picked from commit 3670395af58f21f203ce2289a04feef7c6de53f5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: Ida75d35fb4eced20b206caf3bc247c734679cf10
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit edf8106be2b94dea5bd3b8a446705521957bf973)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQmlData::get expects a non-null pointer, therefore we need to check
whether the object still exists.
Note that while this fixes the crash in the referenced bug,
PropertyChanges still does not support a dynamic target.
Task-number: QTBUG-46350
Change-Id: Ifeecf5df83e87468a1d314ce2b120006124d6f4b
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 1ff376e64bf5af6df7e0079700d2b9164037dc89)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Cannot find file to quote from: 'code/backend/backend.pro'
Cannot find file to quote from: 'code/doc_src_qtqml.pro'
Cannot find file to quote from: 'code/doc_src_qtquick.pro'
Change-Id: I26642a375a659a3d8dbda097702ffc2f68d10137
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
(cherry picked from commit ca7d2c1f4ca010096b668108200cd9f1357a5b2e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
The AOT-compiled code is supposed to be the best one if available.
Change-Id: Ib66a3d8e57cf437e0a5e6395f2ec6a0ab21f39c0
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit d446cb746f4e8e84efea8b3afda530d6da52d5f5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
qmltyperegistrar needs all the metatypes declared in the foreign types
file. Otherwise it produces incomplete output.
Change-Id: I5876ca9add59fafa54e2d2e6eb2de058c9595870
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit ce950d619aef3ad0534544b2e029a6f025b256a5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
The modulo operator has special semantics in JavaScript. We need to
mirror those.
Task-number: QTBUG-84369
Change-Id: I5a4d63a01e232686832c83f2def0faf57e7359c2
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 84cf29933cee44e09590fc89ae800dd453f664ca)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
You can also cast enums to integers, after all.
Change-Id: I283d3dd280eeb44ba22bb45ca9be69e5358d5781
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 453be4e6065a323e7fc0ea93fa0bee845d2020cd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
Previously this would always return the inline component iwth ID 1.
Change-Id: I49dc6eb64fcd8428667f3b22afcb7212aa792db3
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 7104a3a6f8fe518bd8a0d0d246c0f65df340ee38)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
You should declare functions with formal parameters if you want to use
parameters passed by the signal. We need to generate two different
warnings because there are two code paths by which such parameters are
injected. If we compile with qmlcachegen, it simply inserts a lookup
instruction in to the byte code. This lookup then triggers our special
hack expressly made for signal parameters. If we don't compile using
qmlcachegen, a function declaration with formal parameters is
synthesized. We mark those formal parameters as injected and warn if
we see one of them used.
[ChangeLog][QML][Important Behavior Changes] The automatic injection of
signal parameters into signal handlers is deprecated. This is because we
cannot determine the names of the signal parameters at compile time.
Furthermore, also for human readers it is difficult to discern between
arguments, context properties, properties of the current object, and
properties of the root object of the component. Requiring the signal
parameters to be explicitly named resolves some of this confusion. You
can turn the deprecation warning off using the "qt.qml.compiler" and
"qt.qml.context" logging categories.
Task-number: QTBUG-89943
Change-Id: If0a5082adb735a73efd793868b3a55bc7d694cbe
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
(cherry picked from commit df70d4f76f9c1c7b3de9ae91877df803c18b1264)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
Injected signal handlers are bad practice because they aren't declared.
Task-number: QTBUG-89943
Change-Id: I3a691f68342a199bd63034637aa7ed438e3a037b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 4cc91a6a0e4f9063233a4d6554ae64855cf99c14)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: Ibcb20311c7e5a56038c738da77d9dfcc9464bce4
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 165ba01a6833e88896cf3f323d8fad67561e1edd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This collides with injected signal parameters. qmlcachegen cannot tell
those cases apart.
[ChangeLog][QML][Important Behavior Changes] QML warns about JavaScript
variables being used before their declaration now. This is almost always
a mistake. It is particularly dangerous in the presence of injected
signal parameters because qmlcachegen cannot identify a name collision
between an injected signal parameter and a variable being used before
its declaration. It therefore miscompiles such code. You can turn off
the deprecation warning using the "qt.qml.compiler" logging category.
Task-number: QTBUG-89943
Change-Id: I8a9424ca8c6edd562402fe5c560ba7e8344b5585
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit ab71cdafca87513a4e214d3af056d8990bc1eddb)
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-86482
Change-Id: If938fad22f51b08fe3cb20b94634efe46a1eed47
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit e887f25dd6c4c9630a7367c3a2ed95a284191843)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
You're not supposed to call the registration functions manually.
Fixes: QTBUG-90718
Change-Id: I829800132484dea670657ed1679357fe58d0ddf9
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 707f7603fbb6bce60ed532cd42ff2dc9ae39e611)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-90038
Change-Id: Ic01b5d097e0b9e6720bcec7ccb18c22abb5418f4
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 001596d472557bca08eb93159e724301dea88ad6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
setCurrentAnimation() can indirectly delete the animation group job
itself by invoking the animation controller. Use the RETURN_IF_DELETED
mechanism to avoid the resulting dangling pointers.
Task-number: QTBUG-90401
Change-Id: Ibd0ad21e8d3af4760604c3ff37dc46101d5f49ad
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 680f28b08f65ad38c8d5498b5738231b2a2779a3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a QML component wants to mark properties of its "parent" component as
required, it can do so via
required propertyName
The information about those properties is stored in a
RequiredPropertyExtraData data structure. This structure is already
serialized to disk in the QQmlIRWriter. However, we neglected to restore
it so far in the loader.
Fixes: QTBUG-90538
Pick-to: 5.15 6.0
Change-Id: I789daff9bc881e4f35c942c77f5116b5284de81b
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
| |
Round 0.49999999999999994 correctly
Task-number: QTBUG-90444
Change-Id: I0e8a19fb52540c6e976308089a782f1f472bc77f
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Pass the 'qt6_qml_type_registration' function's 'MANUAL_MOC_JSON_FILES'
argument to 'qt6_extract_metatypes', if specified.
Align the 'qmltyperegistrar' test to modifications in the
'qt_manual_moc' and 'qt6_qml_type_registration' functions.
Task-number: QTBUG-84906
Change-Id: I6b23526e1cc4633f55536871cbb7bc6d891f1dea
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the assumption was that each object could only have a single
extension object. As proven by the new qqmllanguage test this is not the
case. Each registered object in the type hierarchy can have its own
extension. Therefore, adjust the algorithms that generate qmltypes and
iterate the extension objects when analyzing them.
This leads us to the realization that anonymous types can in fact
meaningfully carry extensions and implement interfaces. Adapt
qmltyperegistrar accordingly.
For the test to compile, however, we need to realize that the class
declaring interfaces needs to befriend all potential subclass's
QmlInterface structs. Fix that, too. The rabbit hole went deep.
Change-Id: Ia451897e927e03b95c3062e829edf1dfcd216613
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
qmltypes files are generated by qmltyperegistrar, and conditionally
consumed by qmlcachegen. In turn, the C++ files generated by
qmlcachegen must not declare any moc'able constructs as that would be a
circular dependency via the metatypes.json files. Codify this condition
as a SKIP_AUTOGEN property on the generated C++ files.
Change-Id: Ied2ca6ad202dd20039bca9823ef1de4fffcf64d5
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
| |
It makes no sense to have them qqmlengine.cpp.
Change-Id: I138807c7650ec7aef4c6e8833e8bac8a6f179d1c
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
|
|
|
|
|
|
|
| |
Without this, the properties of those types are invisible to tooling.
Change-Id: Iffd05643a650d03993d9fe1a3783fe3db8c33f0b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-83852
Change-Id: I8dd5fa6887ad607fe91ac658efa51152c46df36e
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
| |
The "in" operator may throw an exception.
Change-Id: I7d0b6e2212ac6ec237fbf14719349f8e23810028
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
| |
amends: c0b59369ab45a78e4407633365a52c1a9255512c
Change-Id: If068443257baa0eaee31a43b94b2e0d0f7f554fe
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
| |
This way we get correct line numbers in error messages.
Change-Id: Ieb642523f74adf73955e78cdfb8cb2faee40b321
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
We need to be able to resolve any QML type from its C++ name using
QMetaType::fromName(). qmltyperegistrar can generate the missing
metatypes, either by creating synthetic ones (for namespaces), or by
making sure the existing ones are registered (for others).
Change-Id: If775af56d891f2c2a5bb94589b3cb05a199c7c35
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
As we already have the metatype of the property, we can use the more
efficient QMetaObjectBuilder::addProperty method which avoids a
name to metatype lookup.
Task-number: QTBUG-88766
Change-Id: Iab8c22556cb15d35337f266e533cb0d907232421
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
| |
If the original type's ID is not valid, then QQmlMetaTypePrivate's ID is
also not valid.
Change-Id: Ia727e7dc99b1954b4c6fa9b599e8edc0ef9b3212
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
| |
There is no reason to keep it in qqmlengine.cpp as it is declared in
qqml.h.
Change-Id: I0a0261b943c4a3b4333d7161becbd68ad4f1b21e
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change ensures that bindings created in QML between new-style
properties contain information about which property caused the loop. To
do this, we store additional information about the property involved to
retrieve its name and position at a later point. We print the warning in
case we detect a binding loop in evaluate, and also set the error
reporting callback correctly, so that the condition can be reported when
the loop is detected in another part of the binding evaluation.
In addition, we do not only set the QPropertyBinding's error member when
JS evaluation results in an error, but also print the warning with
qmlWarning.
Fixes: QTBUG-87733
Change-Id: Idb25237d1f57355ca31189e6bf2a918430b3a810
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The subclasses are already dead at that point. We don't need to notify
them anymore. Rather, refactor the code so that we can clean up
QAnimationGroupJob itself without virtual calls.
Task-number: QTBUG-90401
Pick-to: 5.12 5.15 6.0
Change-Id: I6917bf299ceb1383b9d29687e5bf53ae36803ecf
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
|
|
|
|
|
|
|
| |
They need to be accessible from C++.
Change-Id: I60f2213bdbe6b8b64856e13f1e0cc798f8a51086
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It makes little sense that you can construct an error object but not
throw it. The test was definitely meant to actually throw the error
object, not return it.
[ChangeLog][QtQml] QJSEngine has gained an additional overload to the
throwError() method, with the effect that calling throwError() with a
character literal as argument is now ambiguous. You should explicitly
construct a QString instead.
Change-Id: I90c6c9edf10509daa142a86581d6a3f7ff45af2c
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|