| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
Change-Id: I0c5b939c70bdb91ccdf7068784308416dcaa5736
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QFlatMap is implemented to use two containers internally, one for
keys and one for values. This improves locality of reference for the
purpose of doing binary search to find a key quickly, and also makes the
keys() (and values()) accessor really fast.
Change-Id: I87bbb06371aeb44c5bcf971d72ae9cd59920f800
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |\
| | |
| | |
| | | |
Change-Id: I3058a6b9347d7ca2a0c04a58cb030ae5c47de415
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously if the same revision of the same type was registered multiple
times, the first registration would dominate. Now, the last one does.
[ChangeLog] If you register the same revision of the same type multiple
times, the last registration is the one QML will use. This allows you to
override qmlRegisterSingleton*() calls, for example in order to register
a singleton instance for a type tagged with QML_SINGLETON.
Task-number: QTBUG-79331
Change-Id: I32a2acabc89af6faa89d8ccb6380a473bc8b8ddd
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Introduces two new flags:
QML_XHR_ALLOW_FILE_READ: Controls whether GET can be used with file://.
QML_XHR_ALLOW_FILE_WRITE: Controls whether PUT can be used with file://.
In Qt 6 these will be off by default. At the moment having these unset
while using either GET or PUT on file:// will just result in a warning.
Change-Id: I2d85e88f1ddba8153ccbbd833ec7de5c1d0d8b5b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/quick/items/qquickitemsmodule.cpp
src/quick/items/qquickitemview.cpp
Change-Id: I02191959a5023c4320f5487a7fb3a71f8711195f
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Writing an onWheel() handler script was working and mentioned briefly
in docs; but PointerScrollEvent and the signal were not documented.
Also fixed the type of QtQuick::WheelEvent::inverted: bool not int.
Fixes: QTBUG-81302
Change-Id: I31342955c42e20ff52460a1b7ee95da325e38af6
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
QQuickMultiPointHandler inherits from QQuickPointerDeviceHandler, which
inherits from QQuickPointerHandler that already has a marginChanged
signal. It's the only place that signal gets actually emitted from.
Amends da722fb448f06cf43780e6f857a1ccd9f07176d6
Change-Id: I8ba3129ed69903d6f3cff56401c8a18580af0375
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If a QVector has been modified from the outside, all its iterators are
invalid. Therefore, we need to do index-based iteration here.
Change-Id: I02b850daf6aadd8f8a81cc93b0d295e1170d7dd6
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The singleton destruction can trigger additional types to be loaded.
Fixes: QTBUG-80840
Change-Id: Ifa406b2a1cfd3b9e9b36e8005dfc0808eebf15cf
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Before it would only output "Type Error".
Change-Id: Ibd3a85f327c3ce8c58295c7e900c516b77c85a2b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Adjust the code to work with the new QString and QVector data
structures that have inlined size and data pointers.
Fix a large bunch of compiler warnings from QFlags.
Update dependencies for qtbase and qtsvg
Change-Id: Iba237aed90c140b822e0cf501b9fb7156ec27c2d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Qt::staticMetaObject should be used instead
Change-Id: I1e02884f0b1f07e9c51d065f11bdc51c793b7173
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
QT_MINOR_VERSION resets to 0 in dev.
Change-Id: I0b0210c3664c8c42b5dfabf13abac2beef2a0e34
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We need to access some symbol from QtQmlWorkerScript or QtQmlModels,
repsectively, so that the linker doesn't optimize the dependency out.
Otherwise the QML types won't be loaded and we can in fact not create
worker scripts or models.
Change-Id: Ibd665baf8552e08216eb203c8493300c1773cb29
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |\| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/imports/folderlistmodel/plugin.cpp
src/imports/layouts/plugin.cpp
src/imports/localstorage/plugin.cpp
src/imports/models/plugin.cpp
src/imports/particles/plugin.cpp
src/imports/qtqml/plugin.cpp
src/imports/qtquick2/plugin.cpp
src/imports/shapes/plugin.cpp
src/imports/statemachine/plugin.cpp
src/imports/testlib/main.cpp
src/imports/wavefrontmesh/plugin.cpp
src/imports/window/plugin.cpp
src/imports/workerscript/plugin.cpp
src/qml/jsruntime/qv4sequenceobject.cpp
src/qml/qml/qqmlengine.cpp
src/qmlmodels/qqmlmodelsmodule.cpp
src/qmlmodels/qqmlmodelsmodule_p.h
src/qmlworkerscript/qqmlworkerscriptmodule.cpp
src/qmlworkerscript/qqmlworkerscriptmodule_p.h
src/quick/items/qquickitemsmodule.cpp
Change-Id: I5f1fbc3d00e8f583d2c89afc5389de84d68633a7
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Apparently the memberdata can be nullptr as long as you don't try to
access it. This is what readPropertyAsList() does, and the ResolvedList
ctor should follow suit.
Fixes: QTBUG-81032
Change-Id: I9133ea9f7889884b2e91dba7630c4827fc97136d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
And why you cannot specify URLs or resource paths that way.
Task-number: QTBUG-69435
Change-Id: Ia6aac89239302bcfe625f4cca877b74be065e800
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Since registration of this type was neglected in 5.14 (yet was still
usable in WheelHandler.onWheel() { } anyway), it didn't get included in
cc1a604c704f848927b3fa0a97b0a50b0b79d2a4.
Task-number: QTBUG-81302
Change-Id: I24645f4f982310655901c45aca6cdccfbafa911e
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Now that we can generate all QML type information at build time, we
should also use it.
Change-Id: I647c72bbe38fdb2deb565b75c86a696af3d15b61
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Task-number: QTBUG-81123
Change-Id: I3dd1a42e444f817722368cd268c2f987a99fbf1c
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously, once a plugin had been loaded, the static module
registrations were disregarded. Therefore, if there were static and
dynamic registrations in the same plugin, only one set was ever loaded.
Change-Id: I24f52cc579a833041c51f15555caf226a6189c99
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Now that we can generate all QML type information at build time, we
should also use it.
Move the types for QtTest into the testlib import plugin. They don't
need to be exported from QtQuickTest.
Trigger the resource initialization of the shapes library from the
plugin so that we retain a dependency and the linker doesn't optimize
the module initialization away.
Change-Id: Icc8cb338aa03ef1e3085e29356a5db7b73ba0a01
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | |\|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/particles/qquickitemparticle.cpp
src/qmlmodels/qqmladaptormodel.cpp
tests/auto/particles/qquickitemparticle/tst_qquickitemparticle.cpp
Change-Id: Ibd8fbb91da6893a09f4ffe61ad0b95d8149bbc87
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fatal because of -Werror.
Change-Id: I535848be1c733c0718779c8a4c8c93ed3873cc88
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I370b4c4bd0d7962878849ca7c5edef6cb36eca25
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We could just crash there, assuming unlimited memory, but as this
particular place seems to be a very attractive target for various
mischief, let's just plug it.
Change-Id: I3b0369ceb34dafd12ce8dc1f189fc5f9ee82c169
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixes: QTBUG-81109
Change-Id: I97f37c68d33f414d7bffa9b66e0aaed93370dc68
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixes: QTBUG-81108
Change-Id: I7e121776a2416b5338c4c1309ec7cc31c703ad28
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This was fatal because of -Werror.
Change-Id: Ibe06f77d4728268af3f099554f7151bdaf9ac26b
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This commit fixes two crashes and a memory leak in QQuickItemParticle.
The first crash was caused by the list m_loadables that kept pointers on
QQuickParticleData, that could in the meantime become dangling pointers
if the associated particle expired or got deleted by a call to the
reset() method of the particle system. Its role was to keep a list of
particles that did not have a delegate instantiated yet, in order to
create them in the tick() method. This list is removed and the list of
particles to handle is directly deduced in the tick() method.
The second crash was caused by the list m_deletables that could in some
situations (generally due to a reset()) contain multiple times the same
delegate, and therefore cause a double delete in processDeletables().
This list is changed to a set to avoid this situation with a minimum
impact on the rest of the code.
The memory leak was caused by the m_managed list of delegates that was
not freed when QQuickItemParticle gets deleted.
Task-number: QTBUG-71193
Change-Id: I6fe30ee59a9a0bb90c14c62c7a48a50f465a9e0c
Reviewed-by: Mikhail Svetkin <mikhail.svetkin@gmail.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixes: QTBUG-81105
Change-Id: Iaf0597cea3a5572f020c5f87a843774f33cc01fd
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Creating new ScopedValues in the loop was quite wasteful, and would
trigger a crash. We now simply reuse the ScopedValue.
Fixes: QTBUG-81104
Change-Id: Ie1efd144886861a21c8f6827d7fd23699a1e0dcc
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I18b7a4e00150f6c47c991a5164901159b7f946b9
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
MemoryManager::collectFromJSStack did push to the mark stack without
checking if there is actually still space available. To fix this, we now
drain the stack once we hit the limit.
The test case is a slightly modified version compared to the reported
one, removing one loop. This was required as our regular expression does
not throw an exception when there are too many capture groups. However,
to trigger the bug, looping was not actually necessary.
Change-Id: I4d00865f25a989c380f4f5b221f4068c80b71d2b
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Otherwise we try to assign an invalid RegExp object, which crashes.
Change-Id: I85478406524a2a9d7542758caaa1b42b4090bb93
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
setArrayData() needs to handle a nullptr argument.
Change-Id: I1ea05d9db9beb1fede6d3c068cfcf700702e8aa6
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
As we have already determined that we're past the end of the allocated
space on the source object by checking os->values.alloc, we should
conclude that all the remaining values are undefined.
Fixes: QTBUG-81037
Change-Id: I664f22b7eb37c26061e8a9e2f88bcf2a7b6e09f3
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This uses the existing infrastructure for reporting QML errors, instead
of simply using qWarning.
Fixes: QTBUG-81093
Change-Id: Ie18656a57f28fa9dfe922936fd05b44ebe1281e2
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Turns out, we actually do not need to capture anything
Change-Id: I6194b45a1e8053be079d25a6d81212fa226fd3ea
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In XMLHttpRequest, we need to get the QNetworkAccessManager from the
engine. However, if the request originates from a WorkerScript, there
exists no qmlEngine. We therefore add a new indirection to access the
QNAM, and set it up accordinly in registerWorkerScript.
Fixes: QTBUG-81055
Change-Id: I8915202b6d6b7139c8386304b3d1d7a22a82045e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
While running the fuzz tester, a crash was found related to the fact
that the subFocusItem was already partially deleted.
Task-number: QTBUG-34779
Change-Id: I62c48cf40baabc9f0a81074cc6408e9073459165
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Task-number: QTBUG-74602
Change-Id: I08e8df96b10fbc0b58fbdae296c9d54de977e3f9
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The QAbstractItemModel may be nullptr, in particular when it gets
deleted from the outside. In some places we did check for that, via
operator T* from QQmlGuard, in others we didn't. The checks were quite
hard to read as "if (model)" first invokes a conversion operator on a
base class and then implicitly converts the result to bool. Similarly
adventurous, "if (*model)" invokes operator* on a base class and then
converts the result to bool.
Make all the checks explicit, and add new ones where they were missing.
Also, as we already retrieve the AIM in order to check it for nullptr,
re-use it for the actual operation.
Task-number: QTBUG-80963
Change-Id: I3548e22e9d2bef485a1cd4acf70839eb8e599e62
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
8704c640946ac852668638e2980d3e2b78aa27ae introduced new conversions
via sequentialIterableToJS. Due to that, QVariant properties which
formerly stored e.g. std::vector<QObject*> now would store a QJSValue.
Those would still claim to support a conversion to QVariantList, but
-contrary to what our documentation says-, we were not able to do a
conversion to QSequentialIterable. The default constructed
QSequentialIterable would then crash when calling begin(), as that
function pointer was null.
This patch fixes this by adding the necessary support to convert a
QJSValue containing an array.
Non-array QJSValues will still return an "empty" QSequentialIterable.
Note that this changes what happens when a QJSValue is converted to a
QVariantList, as QVariantValueHelperInterface<QVariantList> will check
first if there is a converter to QSequentialIterableImpl before
attempting to call any directly installed converter to QVariantList. In
order to not change the existing behavior, the QSequentialIterable
returns the QVariant corresponding to the QJSValue at a given array
position, intead of a QVariant containing the QJSValue.
Fixes: QTBUG-80609
Change-Id: I8101229c0d2043b3f2d618ed035b279844802dd8
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously transitive private dependencies would not be resolved as
resolve_depends would return a foo_private, for which we wouldn't find a
Qt.$${dep}.module.
Change-Id: Ie8d91d6c82c0d2f2e441a9eb662a14ef9bd82051
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We always need qqml.h and qqmlmoduleregistration.h. Put those in front
and sort and deduplicate the module-dependent imports.
Change-Id: Idae435939e7a69dd706c928b01b159334c21cff1
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The current version of QQuickItemParticle give() method was not
implemented and a simple TODO comment was present instead.
I added a working body and add also a reparent feature when an
added item is released.
Fixes: QTBUG-76827
Change-Id: Ib7d289cad2ff0cd166e766eb7f07e92437e7681b
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Amends 2cfa63e1f1b78ef50dfac3716aab9adf868fe151, fixing:
qtdeclarative/src/qml/doc/src/qmldiskcache.qdoc:76: (qdoc) warning: Missing '\endtable'
Change-Id: I962b640da3125e7515c507cb6751ca1e82cdac7d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The qqmltypeloader test checks this case. As long as the types are
actually loaded by the plugin it worked as we didn't register the
module before. When the types are loaded by static type registrations
in QtQuick we need to detect whether we still need to wait for a
remote qmldir file to appear in order to load color providers etc.
Change-Id: I7aa10903c6c23d1c9be01ee7ddafbdc696975407
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|