aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update dependencies on '6.4.3' in qt/qtdeclarativev6.4.36.4.3Qt Submodule Update Bot2023-03-111-5/+5
| | | | | Change-Id: I5dac8099d4cd6b5e0fc767eb3c27f734bc432f62 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.4.3' in qt/qtdeclarativeQt Submodule Update Bot2023-03-111-5/+5
| | | | | Change-Id: I3c70ceb4c690e9090598a894c6d53961f1a44e43 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.4.3' in qt/qtdeclarativeQt Submodule Update Bot2023-03-081-5/+5
| | | | | Change-Id: Ic487e2f88b9f46db7f05d25154592363c42ddabe Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Avoid crash updating source of shader-less effectEskil Abrahamsen Blomfeldt2023-03-072-1/+13
| | | | | | | | | | | | | | | | | | | | | | When a ShaderEffect did not have any shaders, we would register a "fake" bindPoint for the 'source' property with bindPoint 0. However, when actually linking the default shader program, the actual bindPoint is 1 (also matches what is in shadereffect.frag). When the property corresponding to the source updated, we would thus register an update for binding point 0. The initial value for binding point 1, from when the shader effect was loaded, would never be overwritten and when we iterated over the variables later and tried to cast do a qobject_cast on the (initial, now dangling) pointer stored for binding point 1, it would crash. Fixes: QTBUG-110111 Change-Id: I96c3e81908db8cce682b5447800fcb7a3fe5e0b9 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> (cherry picked from commit d4ef47ea990697ee74996325673d1fbb9411fac8) Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Update dependencies on '6.4.3' in qt/qtdeclarativeQt Submodule Update Bot2023-03-031-5/+5
| | | | | Change-Id: I1853126bdcf387b1d4de268b68a9f3e929534072 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.4.3' in qt/qtdeclarativeQt Submodule Update Bot2023-03-011-5/+5
| | | | | Change-Id: I7326c085e9881928dddb51142bb26ba7da73f5f3 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.4.3' in qt/qtdeclarativeQt Submodule Update Bot2023-02-231-5/+5
| | | | | Change-Id: Ie1c564a1a9c99eccfc339ed323349d1bc6e941bb Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* QmlCompiler: Fix coercion of undefined to float and doubleUlf Hermann2023-02-225-9/+50
| | | | | | | | | | | | | | | | It should result in NaN, not in 0. The typedArray() test exposes that ExecutionEngine::toVariant() also gets this wrong. Fix that, too. [ChangeLog][QtQml][Important Behavior Changes] Converting a JavaScript value to a double or float, for example by inserting it into a typed array, now assumes JavaScript type coercion semantics. In particular, converting a value that is not actually a number now results in NaN where it previously sometimes resulted in 0. Fixes: QTBUG-111179 Change-Id: If24444ae9014c8972761c565a6920f06699e485c Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit b9834e0ee9f086add6dd8a42e5cb40f87f91756b)
* Update dependencies on '6.4' in qt/qtdeclarativeQt Submodule Update Bot2023-02-211-5/+5
| | | | | Change-Id: I930c36aa70e86e9234cbe088b60e2ed2b0fb6099 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Simplify dragNDrop example and remove unneeded aliasThomas Zander2023-02-211-11/+1
| | | | | | | Change-Id: Ia0e5d5dc46a60b6d88864b3250f8cf91b03b897f Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit 03b75a0baa0a77649ca3dca5f7ca17a46b96a2ac) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Use SequentialAnimation.loops in FlashAnimation in handlers exampleShawn Rutledge2023-02-211-7/+1
| | | | | | | | | It looks less tedious. Amends 8503f884bbdb50c4bebc8f8a9fce05275b0612b1 Change-Id: I85690e6a8ceac4ebec1c00bcbbf6a81108096e6c Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io> (cherry picked from commit 40e2811843b3dc414d48f2221e2dee888b448b9b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* doc: Rename QML type HandlerPoint to handlerPointShawn Rutledge2023-02-204-18/+18
| | | | | | | | | | | | | | | It's a Q_GADGET value type so it needs a lowercase name. Link eventPoint to handlerPoint to help reduce confusion. There's already a link in the other direction. Task-number: QTBUG-104761 Task-number: QTBUG-104570 Change-Id: I962d2d44690ec2f75190e07be7489eb3883d0657 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io> (cherry picked from commit 9e25d24b3730463a5c5c4ecb1a39ad0ca02892a8) Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* tst_QQuickPinchHandler: use QScopedPointer for input devicesShawn Rutledge2023-02-201-19/+20
| | | | | | | | | Avoid leaking. Same solution as 0879758f8ece9f3b2a799eb87de25813934ba02f Change-Id: I7e182730757f01c6f93292b594a10681c8fa2cf2 Reviewed-by: Doris Verria <doris.verria@qt.io> (cherry picked from commit 206855055e5c61c57cbe80eb9a6d7fa902da5710) Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* doc: Add the handlerPoint.device propertyShawn Rutledge2023-02-201-0/+7
| | | | | | | | | | | Amends a1c91787264f6f535b5cf094b57ee53058856df4 Task-number: QTBUG-76381 Change-Id: I7fdd15abbe15805815f5d2b2fc298501e1ab34d7 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io> (cherry picked from commit 6215a53f29a6204332799450c5f21fc151e69c78) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: How to combine custom singletons and qt_generate_foreign_qml_typesUlf Hermann2023-02-172-1/+12
| | | | | | | | | | | | First, make it more explicit that the QML engine really wants to own the singletons. Then explain how to combine qt_generate_foreign_qml_types with custom types you need to manually manage. Fixes: QTBUG-111169 Change-Id: I9e070c3482014691382c9c1279c918913bdf0307 Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> (cherry picked from commit 4f33440a6ce19fcd2a98a77dced76f874d8625c3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Drop useless extra QQmlContext from QQuickDialogButtonBoxPrivateUlf Hermann2023-02-171-3/+1
| | | | | | | | | | | The standard buttons won't do anything meaningful with the context anyway. Task-number: QTBUG-110934 Change-Id: Ic1affa98904f06a3172a271ba268595a9b53f1a2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 6dcaaca3a759c9af9e9fcdd204bc1300eae812c0) Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Use QStringDecoder::decoderForHtml()Lars Knoll2023-02-161-5/+2
| | | | | | | | | | | instead of QStringConverter::encodingForHtml(). The new method is more flexible and can also handle non unicode encodings if qtbase has been compiled with ICU support enabled. Change-Id: I50599c3afbcb48625d46b5590446bd2eec3890cd Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io> (cherry picked from commit f3e981afb4d10c4e249c1738df9afc3d75328986) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Defining QML Types from C++: Add CMake documentationFabian Kosmale2023-02-161-20/+49
| | | | | | | | | | | | | So far, we only documented the qmake workflow. Adjust the docs to mention how the same can be achieved in CMake. As a drive-by, use a versionless import in the QML example code. Fixes: QTBUG-107902 Change-Id: I08ac1262d0d93572077ec86be3b02ce1524bf52a Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 31262074fb3a64fd4b281b03da4032733accee4c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* tst_dialog: Fix testing for implicitWidth and wait for enter transitionsDoris Verria2023-02-161-0/+4
| | | | | | | | | | | | | | - The Dialog’s implicitWidth is set to the max between the header’s, footer’s, and background’s implicitWidth. So, when testing that the dialog’s implicitWidth is equal to that of the header, we should first make sure that the IW of the background and footer is smaller. - Wait for all enter transitions to finish before assuming that the dialog is opened. Change-Id: I803db9664ad46a83dbe6b47c53448530c30d6150 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 4a9be82a382b58155949ad4ec75e8ce4e12c47e6)
* QQmlMetaType: Clear property caches on qmlClearTypeRegistrationsUlf Hermann2023-02-152-0/+15
| | | | | | | | | | | | | Otherwise we may retain dangling pointers referencing invalid property caches. Some metaobjects are created on the heap. If the memory manager decides to re-use the heap space for new metaobjects, we can retrieve the invalid property caches. Task-number: QTBUG-110933 Change-Id: Ic00bb852151bcf58ba6ae798a6bf2cea686a9e10 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 6937f2e50dd60c58350a464eb83ba9d11c7146f9) Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Repair QQmlGadgetPtrWrapper's metaObjectUlf Hermann2023-02-157-65/+60
| | | | | | | | | | | | | | | | | | | | | | | | We need two metaobjects: One with the PropertyAccessInStaticMetaCall flagg and one without. The one without needs to be used with QQmlGadgetPtrWrapper, since the wrapper wants to intercept metacalls. The other one needs to be used when calling readOnGadget(). We can accommodate this by just retaining the original metaobject. As it's retrieved from a gadget type you should definitely be able to readOnGadget() with it. The dynamic meta object, on the other hand, can be lazily created when we actually metacall() through QQmlGadgetPtrWrapper. This relieves us of all the special casing around QQmlGadgetPtrWrapper and makes it safe to use for anyone. Fixes: QTBUG-108704 Fixes: QTBUG-111136 Fixes: QTBUG-111019 Change-Id: Icc01c81babaa9d1eca8d5ddfaf44d724a404db38 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit c4f0d07bda41ea3ea083d17c56e67a3b05a532bb) Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
* TableView: deprecate modelIndex(row, column) in favor of index(row, column)Richard Moe Gustavsen2023-02-146-42/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Deprecate modelIndex(row, column) in favor of a new function index(row, column), starting from Qt 6.4.3. This has the advantage that we can print out a deprecation warning when modelIndex() is is used at run-time from QML. This will inform the developer early on that he should avoid using modelIndex(row, column), since the argument order differs between different versions of Qt. Relying on compile time deprecation macros alone will not work, since the API break is in a private class and only used publicly from QML (except for our own internal auto tests). Since the equivalent function in QAIM is also called index(row, column), this will additionally make the naming more consistent with the model classes. [ChangeLog][Quick][TableView] modelIndex(row, column) has been deprecated in favor of index(row, column). Task-number: QTBUG-109542 Change-Id: Iec8f5f8fa2a0ca714153128717b546bbd62c7e2c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit aea8c9e0934b7250b73d7c055f907abab7c8e868)
* Fix locale exampleFabian Kosmale2023-02-131-14/+15
| | | | | | | | | | | | | | Instead of fetching data from the view, we should rather fetch it from the model, which avoids a bug with casting when the currentItem is null. Use the opportunity to use a typed list for the model instead of a plain JS array. Original-patch-by: Kai Köhne <kai.koehne@qt.io> Change-Id: Ib23fb31b3d0a2c309c98bf762cea1a8c05080c38 Reviewed-by: Kai Köhne <kai.koehne@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 05683ad15d068b42b8b54d75a3c5377e994bface) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.4' in qt/qtdeclarativeQt Submodule Update Bot2023-02-131-5/+5
| | | | | Change-Id: I123e62928f50023f614b74b7bbea2739cd0df4aa Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* QML: Invalidate any existing cache files when saving a CU to diskUlf Hermann2023-02-114-2/+128
| | | | | | | | | | | Otherwise we just re-load the old cache file next time. That's clearly not intended. Fixes: QTBUG-111078 Change-Id: Ia65b46880eca2b6e8c4792a09f20716125beada3 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 0a5eff09203ebb2547431de689d9c07e6c97f636) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QQuickDeliveryAgent: fix downcast to QQuickItemVolker Hilsheimer2023-02-101-32/+25
| | | | | | | | | | | | | None of the code should run if the item is not a QQuickItem, do downcast only once using qmlobject_cast for the entire block. As a drive-by, simplify the code a bit. Change-Id: Ib3bc511022053889149d2fca62c6674c09409606 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit 706ebe7c4d654a4a341940c908c5d0cd8b817719) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.4' in qt/qtdeclarativeQt Submodule Update Bot2023-02-101-5/+5
| | | | | Change-Id: Ic2b16aec3c631731e743f4bb917615e9b2a7531d Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Fix mouse inside MouseArea (containsMouse) for press eventSanthosh Kumar2023-02-093-1/+35
| | | | | | | | | | | | | | | | In MouseArea, containsMouse (mouse inside MouseArea) flag is enabled for press event irrespective of whether its accepted or not. This creates containsMouse to be enabled always for this corresponding item leaving no option to reset. To fix this issue, containsMouse flag is enabled only if the press event is accepted for mouse handler. Fixes: QTBUG-110594 Change-Id: Ibb0e89529ccebc3063330c22b8b3501b2917d78f Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit 2af8743aab51287ec914d25176ae0fc45202db32) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Flipable: switch sides at 90 degrees regardless of camera distanceJiDe Zhang2023-02-083-6/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | QQuickRotation::applyTo(QMatrix4x4 *matrix) uses QMatrix4x4::projectedRotate() to apply rotation in pseudo-3D. QQuickFlipablePrivate::updateSide() was previously applying QQuickRotation to QTransform to decide which side should be showing; but when using QTransform::map(QPointF) to get the position of the transformed point, it is affected by the distance-to-plane value. QMatrix4x4::projectedRotate() uses 1024 as distance from "camera" to plane; so if the items on the plane are too large, some coordinates on the plane may be behind the camera during rotation, which could cause QQuickFlipable to mistakenly think that the current side has become QQuickFlipable::Back. Now we directly calculate the side of QQuickFlipable in 3D space rather than performing projection, to avoid being affected by the camera distance value. We use QMatrix4x4 instead of QTransform. Fixes: QTBUG-75954 Change-Id: Ibb08f6f6de690f5b56c3130a1f7b09beb250c807 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit 036b6159edeb8e5ffe7a1c5e83ac99c3ab2e9988) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* quicktextinput: Update IM state after clearing selection with IM eventJarkko Koivikko2023-02-071-0/+1
| | | | | | | | | | | | | | | | | | | | | Virtual keyboard uses quick text input as shadow input control attached on top of the keyboard when the actual input control is obscured by the keyboard. The shadow input is synchronized by the IM update events sent by the actual input control. When the user makes selection or moves cursor on the shadow input control, the change is synchronized to actual input control with input method event (QInputMethodEvent::Selection). This all works, except when there is a selection and the cursor is clicked. The expected outcome is that the selection is cleared, and it is, but it was not reported back to input method. Fix the issue by sending the update in case the selection is cleared. Change-Id: Ieabc9ee97ad9fe6154d46f302314e3ebdfd10de2 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 6ab7e33b0549c40a33c1d733e4ab516d34a8a887) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.4' in qt/qtdeclarativeQt Submodule Update Bot2023-02-021-5/+5
| | | | | Change-Id: I34e54d8df6a9bdbc04a702da1ee941d10043595c Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Fix QQuickImageParticle in case of QRhi re-createThomas Senyk2023-02-013-0/+10
| | | | | | | | | | | | | | | | | | | | With this patch QQuickImageParticle will now properly re-query the m_rhi member the next time updatePaintNode() is called Additionally a new (override) QQuickImageParticle::invalidateSceneGraph() will call reset() so that potential sub-nodes (e.g. SpriteParticle) will also be re-created Last but not least: QQuickSpriteEngine::startAssemblingImage() was missing to reset it's sprites container (without that the sprites would pile up and eventually fail with "Too many animations" error) Change-Id: I172fd23ddfac475542aabc6cc17d8fee74f728b2 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit b899dff5d496e8bebb6bb81e37951d03f8469f63) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix QQuickCanvasItem in case of invalidateSceneGraph()Thomas Senyk2023-02-011-0/+4
| | | | | | | | | | | | | | | | | | Adding requestPaint() at the end of invalidateSceneGraph() will make sure that painting is trigger properly again, including the (re-)creation of the painting context. As that request of painting will also recreate the painting context, it will also allow the creation of a new QSGNode Without this patch a nullptr will be returned as QSGNode until a "proper" dirty or update() happens due to property changes or explicit update calls. Change-Id: If1e79d135d3d1f5253cb41a3be1630cfed3865dd Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 185b0d5f215df0254b38ac8a7dfb72c20ce9bc1e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* ListModel: Use PersistentValue to keep track of objectsUlf Hermann2023-02-014-133/+72
| | | | | | | | | | | | | This is the simplest way to prevent the garbage collector from destroying the object while at the same time allowing a manual destruction. Task-number: QTBUG-95895 Task-number: QTBUG-96167 Fixes: QTBUG-91390 Change-Id: Ic3f3146bc555991068ce3367971e050f745d235d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 718f3469f693eb179f1504a41b18280656a2325d)
* Doc: Disambiguate description of module URIsUlf Hermann2023-02-012-2/+12
| | | | | | | | | | | | | | While you can, technically, have URIs that contain '$', or '幽', '霊', '文', and '字', you really shouldn't. Amends commit 9e4f6d92111bff0d422609704673cc0d9a46cafd. Fixes: QTBUG-106074 Change-Id: Ic0f13b6ea2bb704d2bd9f4fa5841aa69a88cd5a7 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Semih Yavuz <semih.yavuz@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit a29f3160898823cb300172c57ff6a7cd7bb74aba)
* Doc: improve grabToImage snippetsMitch Curtis2023-01-313-57/+44
| | | | | | | | | | | | | | | - Change the code that is quoted so that the indenting looks sane - Make it possible to copy and run the first snippet without modification - Make it easier to copy and run the second snippet without modification - Move itemGrab.qml to item sub-directory - Generally tidy up Change-Id: I608b7a6025b9866c14b84420ae64827965a7519f Reviewed-by: Paul Wicking <paul.wicking@qt.io> (cherry picked from commit f0f9bacca8d44e20bd0e21da819737aed0ff62b8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.4' in qt/qtdeclarativeQt Submodule Update Bot2023-01-311-5/+5
| | | | | Change-Id: Ic07b9559f2f41129e4f4c628f4da0098f5adae27 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* CMake: Fix qt6_generate_foreign_qml_typesJoerg Bornemann2023-01-261-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We had the tst_qmlsplitlib test failing in in-source builds only, because qt6_wrap_cpp is called on the generated sources and this sets SKIP_AUTOMOC ON. Later in the build, the consumer of the corresponding moc_XXX.cpp.json file errors out, because it cannot find the file. The test worked in out-of-source builds, because the paths of the generated files were relative: add_custom_command generated the files in the build dir. qt6_wrap_cpp got the relative paths and assumed them relative to the source dir and did set SKIP_AUTOMOC on non-existent source files. AUTOMOC took care of generating moc_XXX.cpp and moc_XXX.cpp.json, and all was well. Clearly, the consumer of the moc_XXX.cpp.json files expects them to be generated by AUTOMOC. Fix this by - using absolute paths for the generated files to make sure target_sources gets the correct paths - removing the qt6_wrap_cpp call Fixes: QTBUG-110117 Change-Id: I01bcd8e37f57cf30ea06a7dd1fd8844367b58a14 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 2d97f9bdf0d21997a6ee7e43d1364803842aa635) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Binding: Accept local signal handlers againUlf Hermann2023-01-263-1/+21
| | | | | | | | | Fixes: QTBUG-110628 Change-Id: Ifc5023a3bfeb575df3102c3ea363903ebffa88ba Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 5bcbd0a513dcf929890a869ad01c68b3175fa6e2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix crash in ListView with PullBackHeader/FooterRobert Griebl2023-01-264-2/+71
| | | | | | | | | | | | | | | | | | | The header/footer positioning code would otherwise call qBound() with max < min when a PullBackHeader/Footer is used and the delegates do not fill the whole content area (i.e. the list does not need scrolling). After qtbase ad5c5bb541ae20a205ac07122153b302dee1d3e1 that was causing an assertion failure. Even though relying on the old qBound() behavior seems strange, it does produce the correct header/footer positioning, while swapping the min/max values (in case max < min) does not. So we need to call qMin and qMax explicitly rather than using qBound, to avoid the assert. Task-number: QTBUG-104679 Change-Id: Iefc50e347e77ed51c6d90ddbc6e1cf21d76fc62c Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit b59bc4fe935245029a96d09a7dd55b53968fcc32) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QmlCompiler: Wrap sequences with unknown elemnts in QVariantListUlf Hermann2023-01-253-0/+3
| | | | | | | | | | | | Otherwise we later try to perform value type lookups on them. That won't work. Task-number: QTBUG-110438 Fixes: QTBUG-110315 Change-Id: I1690a3375841ba5a1ff1a471a7f88bd2023ab4c4 Reviewed-by: Semih Yavuz <semih.yavuz@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit c9b8b061170ab3974754249f8bb1d3356c839fd1)
* Update dependencies on '6.4' in qt/qtdeclarativeQt Submodule Update Bot2023-01-251-5/+5
| | | | | Change-Id: I5e6fc77991d30a33de51e9568273583f64bc7648 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Document QQmlExtensionPluginUlf Hermann2023-01-241-4/+19
| | | | | | | | | | | | You should really not use it, but people should know about it. We cannot deprecate it because QtQuick Controls needs it. Fixes: QTBUG-95448 Change-Id: Idcc31d13a8eaa709944f2271389642b7fdbe84fe Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 05908e67a2a281b56bad503490e5c9121e9f285a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* qmlformat: fix omitting some comments while reformattingSemih Yavuz2023-01-244-0/+31
| | | | | | | | | | | | | | | We rewrite comments associated to a node on the preVisit call (if they were marked as preComment), or postVisit( if comments were marked as postComments) of the reformatter. If the comment associated with a patternProperty kind of node, neither of these functions are called. Add missing call to previsit/postVist in the pattern property node visit. Fixes: QTBUG-109074 Change-Id: If57968b3f5dbd83aa23dc2cd2bca3608ee841d49 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 444d4f1f3f27a81996d9cbcc0642040b68728260)
* QJSEngine: Fix potential JS stack overflow cauased by spread operatorFabian Kosmale2023-01-242-0/+17
| | | | | | | | | | | | createSpreadArguments could in theory allocate a (nearly) unbounded number of QV4::Values. Avoid this by checking whether we approach jsStackTop. This fixes CVE-2022-43591. Change-Id: I01aecb979da47b7261688c9f185dc33a50a579a5 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 6511aa4344c1d47ede8546540fe70bdff8523545)
* Fusion, HeaderView: use colors from the styleRichard Moe Gustavsen2023-01-243-15/+21
| | | | | | | | | | | | | | | | | | | Don't hard code colors in HorizontalHeaderView and VerticalHeaderView. Instead, use colors from the palette / style. This ensures that switching between light and dark mode will also affect HeaderView. Additionally, skip drawing a box around the header view cells - doing so ends up looking quite bad, since you will draw double lines between the cells (especially when the columnSpace/rowSpace is 0. Instead, the border around the cells in both TableView and HeaderView is supposed to be drawn indirectly from setting rowSpacing and columnSpacing to e.g 1. Change-Id: Ibc01779526aecc4f0d40fad2a6f2ea2822427e85 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit f8207a204b7f6b8af7d371b5fec57a135b54f0e5)
* Update dependencies on '6.4' in qt/qtdeclarativeQt Submodule Update Bot2023-01-241-5/+5
| | | | | Change-Id: Icf3865309bcfa8101f8ffc9c79ce150a66d057b7 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Fix type of QtQuick::BoundaryRule::easing in documentationMatthias Rauter2023-01-241-1/+1
| | | | | | Change-Id: I86ba0659fcd5a0c38b664738b9e0b3b28562dbf5 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit d09a0778e1c243be8931c3bec95c8970ace95f7b)
* QQmlImport: Handle file selectors in qmldirFabian Kosmale2023-01-237-1/+119
| | | | | | | | | | | | | | With file selectors, a type can exist in the same version under different paths. Detect this case, canonicalize the filename to the selector free version, and rely on the engine to resolve a URL to the correct file. Fixes: QTBUG-107797 Change-Id: I0f74fd37936abfa08547fb439bfa5264e6ca4787 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 9bfb27be010940ca735ca7dd67a092a03289e27c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix content position of table view controlSanthosh Kumar2023-01-232-10/+18
| | | | | | | | | | | | | | | | | | The estimated width in the table view has been used to layout and accordingly, edges of the table be loaded. This estimated width will be passed to flickable to adjust its parameters and width/position of scroll bar. This in turn change geometry of table view with respect to view port. In some scenarios, this estimated width during layout causes table view to be misaligned. This can be avoided by calculating and updating latest content width of the table view once after loading the edges of table. Fixes: QTBUG-108664 Change-Id: I47c3325bc9e51f75c87564a2ec1de4522e4a7e60 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 19b35008e2b2bebef10a9d52c8389920df1e1953)