aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update dependencies on '6.6.3' in qt/qtdeclarativev6.6.36.6.3Qt Submodule Update Bot2024-03-181-5/+5
| | | | | Change-Id: I132ad3050359c3bdf5071c25387058f129983781 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Handle more potential underlying typesFabian Kosmale2024-03-185-0/+107
| | | | | | | | | | | | | | | | | | Since f3bcbfd6a50fb7e74f4ff6714d3b3066fa74e253, we use the underlying type of an enum when the binding is detected as a resolved enum and the property is of enum type. When using an enums underlying type, we can receive types that were formerly not possible, because we would normalize them to plain int. Fix this by teaching the object creator to handle assignments of signed and unsigned integer types. Fixes: QTBUG-123428 Change-Id: I3635b7de048e0c6ddf79381679aafee89a5b3def Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 186405955f1057111379369fc43951513c461aa9) Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* Update dependencies on '6.6.3' in qt/qtdeclarativeQt Submodule Update Bot2024-03-181-5/+5
| | | | | Change-Id: I1f394cc6f7e76273b13bedeaaa07ba9b6caf0906 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* fix crash in qquickspinbox.cppTim Jenssen2024-03-142-1/+7
| | | | | | | | | | | | | | With a custom style, the validator might not be set initially or at all. Task-number: QTBUG-123160 Change-Id: Idd4b801e75737fa2cfac112d06f9f7ad04278c26 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Tim Jenssen <tim.jenssen@qt.io> (cherry picked from commit 6e853af5b97d71d0cffa978a2bf502083c222348) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit e68b9dc5882382169225f6f409e510a4f52dd6d7) (cherry picked from commit 10b5b1f51a427a9e223bfd4d942e0eaceed2ce0f)
* Update dependencies on '6.6.3' in qt/qtdeclarativeQt Submodule Update Bot2024-03-111-5/+5
| | | | | Change-Id: If8b6b5d9d2c550e0be8a89e6047f6134bd95f05d Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Fix ItemParticle constant CPU usageSadegh Taghavi2024-03-092-4/+63
| | | | | | | | | | | | | Takes particleSystem enabled and running states and particleItem enabled and its parent enabled into account with some connections Fixes: QTBUG-117923 Pick-to: 6.5 Change-Id: I3921759cf09a3aea2b8bfa51f847c5a909bb534b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit c6fad0e79ec7768e1bbd852dd85a594e4318f8f7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 3fbca326e5bd4c0fabec79bfc7ff7439b30fc2d0)
* Fail gracefully when binding an attached property where the object is nullVolker Hilsheimer2024-03-083-2/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Overlay.overlay is an attached property that holds the window overlay item, our documentation promises that it can be attached to anything, but will be null if the thing is not in a window. When using QQuickView on a QML code that declares an item which tries to bind something to the Overlay.overlay property, then the overlay will be null, and creating it will fail because there is also no window yet. This crashes further down processing when trying to create the binding. While this cannot be made to work (modifying the window is not possible in QML that doesn't declare a Window and is instead loaded into a QQuickView), it should also not crash. Add a nullptr check where it did crash, add a test that reproduces the crash, and with the fix merely spits out a warning. Fixes: QTBUG-122894 Pick-to: 6.5 Change-Id: Ie4438657a6855b44409edb28431e04eb9875a392 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Kwanghyo Park <kwanghyo.park@qt.io> (cherry picked from commit bad5a7ac1fe3ec39c6c9a0111f1514177a69315e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 56de91bec09bb0f14f13b2522efe547ffd86000e) Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QQuickDeliveryAgentPrivate::deliverHoverEventRecursive - remove "return"Axel Spoerl2024-03-071-3/+0
| | | | | | | | | | | | | | | | The return statement at the end of the method is never reached, due to an earlier, unconditional return just above. Remove it. Task-number: QTBUG-115438 Pick-to: 6.5 Change-Id: I2750e01de6a34b6cedaf28ab01066e12eb0ac834 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit a997b376c79fb955c4c2344eae7da5fec4853958) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 020ac3d97611c8975147d537db4c52a62fd362b6)
* Material: remove ComboBox's insetsMitch Curtis2024-03-071-3/+0
| | | | | | | | | | | | | | | | | These were probably necessary when it had drop shadows, but it no longer does. Doing this makes it the same height as TextField. [ChangeLog][Controls][Material] ComboBox's insets were removed. This may cause visual changes to UIs. Task-number: QTBUG-120067 Change-Id: Ia66f254eb5d556b7f629488a8f74e2417d7d7489 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 4c355bf34efab09010d0f1cba4f5c3b6f5ebf0a3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit bfe8bffbb954b91e97cf550c437af736f5ff6919)
* Material: animate RadioButton indicatorMitch Curtis2024-03-071-4/+27
| | | | | | | | | | | | | | This makes it match the specs: https://m3.material.io/components/radio-button/guidelines#eba97636-1dd9-4e81-a1a6-20b8123d1b83 Fixes: QTBUG-113532 Pick-to: 6.5 Change-Id: I266a8f8c6ace780650b26f72fa1bd7ea8c933507 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io> (cherry picked from commit 8726722886454be0fd531ce7f28ad3bdec12cab1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit fa184d03837affe8a19b779d3c6fff59a6f2cd89)
* Material: fix floating placeholder text x positionMitch Curtis2024-03-076-6/+105
| | | | | | | | | | | | | Don't set it to control.leftPadding, because we don't want it to change if the user changes leftPadding. Fixes: QTBUG-120149 Pick-to: 6.5 Change-Id: I67bbc22192fef386fe088398b67d3eb0a10421ba Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io> (cherry picked from commit cb7eb152204e206539f307a9556eea43c589f026) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit b018532c570a2cb4ebaf70925d0e03324ec2bbc1)
* Fix build without features.validatorTasuku Suzuki2024-03-071-0/+2
| | | | | | | Change-Id: Iec6a103dac9b19ab04f155533fe14ab8d9800817 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 1437722391f9a0d5a1e6c31276a2f20948e561a2) Reviewed-by: Tasuku Suzuki <tasuku.suzuki@signal-slot.co.jp>
* doc: Remove statements that horizontal rules are not renderedShawn Rutledge2024-03-072-2/+0
| | | | | | | | | | | | They've been rendered since eca6bd485436f9ddf16036b98c993b7ffeb7e6c4 Pick-to: 6.5 Task-number: QTBUG-74342 Change-Id: Ifabe3d38ab7121145b76653faee324f4c656def1 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit 9b39b0301dcc922b9525bcfeaa98fbc51e1174f0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 6053360f374146ece029fc9e5af55afaaa2448dd)
* Baseline scenegraph test: avoid rendering blacklisted itemsEirik Aavitsland2024-03-071-0/+6
| | | | | | | | | | | | | Employ the new functionality in the baseline framework that facilitates skipping blacklisted items prior to rendering. Useful if rendering certain scenes cause crashes on some platforms. Pick-to: 6.5 6.2 Change-Id: I9f545751bff66eac548fdac8212f0ade4df7b6de Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> (cherry picked from commit 4ca19bab7eeaa3734a315db236d493e936002be5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 22936a7c0a1fdd5231408455e61941eb10e2148d)
* QQuickPopup: always run exit transition on hiding a popupVladimir Belyavsky2024-03-052-6/+38
| | | | | | | | | | | | | | | | Amends c16dc16cafa78ea2a3d1ef6e374f46d6632da779. Do actually what the comment said "Do not start EnterTransition for a popup in QQuickPopup::setVisible() when the popup is not yet associated with any window" but do _not_ touch original ExitTransition logic. Fixes: QTBUG-122915 Change-Id: I77db41254d1c1966f4b3b5285e26efd0487da51b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io> (cherry picked from commit 30ae9e99e275d9c2288a14120b36f763a9d88c78) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 92446b9de8f66d5f730cdab1ec8907bda30b2c65)
* Fix crash when item is deleted in event handlerPaul Olav Tvete2024-03-052-1/+39
| | | | | | | | | | | | | | | QQuickDeliveryAgentPrivate::deliverPressOrReleaseEvent() creates a list of possible targets and iterates over it. This would cause a read of deleted memory if delivery to one target would cause another item in the list to be deleted. Fixes: QTBUG-91272 Pick-to: 6.5 Change-Id: I3f648e683d9b441ee0f14e4f721338ac59ace3cc Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 10536ea75063210e78563e35e4ad3a755b172530) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 9c9072e82fe531a0a5b70ac7b914e9e1099248d4)
* QQuickWidget: don't set WA_AcceptTouchEvents on macOSShawn Rutledge2024-03-052-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | Usually, a QTouchEvent comes from a touchscreen, and we want those touch events in Qt Quick. But on macOS, there are no touchscreens, and WA_AcceptTouchEvents has a different meaning: since qtbase 03d057ff01332333b98f5298c3d0bd85b5604ac9, QApplication::notify() calls the native-integration function registertouchwindow() to change NSView::allowedTouchTypes to include NSTouchTypeMaskIndirect when the trackpad cursor enters the window, and removes that mask when the cursor exits. In other words, WA_AcceptTouchEvents enables getting discrete touchpoints from the trackpad. We rather prefer to get mouse, wheel and native gesture events from the trackpad (because those provide more of a "native feel"). The only exception is for MultiPointTouchArea, and it takes care of that for itself. So don't automatically set WA_AcceptTouchEvents on macOS. The user can still do it, but we don't recommend it. Amends dc8f44b14501ecd4acc196f5138aeff3f7502d0a Fixes: QTBUG-113384 Pick-to: 6.5 6.2 Change-Id: I8b0e1d247adfc95f1c9a0881a6020eab1a42b0ab Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 2f1be4c51a1655697933468c10ba53316306d207) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 485388263f55ac7c40c53fa3b0d4bfaa275e55f1)
* Patially revert "Make some properties in the effects module FINAL"Fabian Kosmale2024-03-041-30/+30
| | | | | | | | | | | | | | Making properties FINAL is an API break not covered by any QUIP rule. However, this does not apply to types which can't be instantiated from QML, so the changes to QGfxSourceProxy can be kept. This partially reverts commit b7813fc5ea6591236d4035cfb5a94bfa6e9a2dcf. Change-Id: Ia03a50d5db1e432ac24655369f3d51b3319235f0 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 59aea7084c84711917ee40ab7a2c9babb01f00b6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit f80e164c5c7e44ade51965fc33c53046a67fbfcc)
* Mostly revert "Make properties in the particles module FINAL"Fabian Kosmale2024-03-0425-105/+105
| | | | | | | | | | | | | | | | | Making properties FINAL is an API break not covered by any QUIP rule. However, this does not apply to the attached type whose properties were marked FINAL in the referenced commit, as it is not possible to derive from it anyway. This reverts the majority of commit cb82b9f2addf25db34970ebb48f69291901ad7ba. Change-Id: Ib001417f0b4236f1c8e068ec5f238a4b9731f8cc Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 31a60b518bd7d811172b887501e831e6e4e4a9c1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 9b28ff7304bbd0a2e30f2ccec1cd20ddc2f1c451)
* Partially revert "QML models: Make most properties FINAL to prevent ↵Fabian Kosmale2024-03-044-21/+21
| | | | | | | | | | | | | | | | | accidental shadowing" Making properties FINAL is an API break not covered by any QUIP rule. However, this does not apply to the attached types whose properties were marked FINAL in the referenced commit, as it is not possible to derive from them anyway. This partially reverts commit 9355b7173c10045f7908bf16a97ba693967517e1. Change-Id: I371b9fda7287d8a77b06b7e46d2545d10d543876 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 7cc3d8af146878c051baebe1342a84384d299583) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 3845c723b6131fb6a2973ff1187c7e6922978586)
* Update dependencies on '6.6' in qt/qtdeclarativeQt Submodule Update Bot2024-03-031-5/+5
| | | | | Change-Id: Ifd0012e93c85d09a1882478cc1e65b1b587eaeb4 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Fix crash on exit when pause animation is runningPaul Olav Tvete2024-03-021-3/+5
| | | | | | | | | | | | | | | | | | | | | At program exit, QThreadStorage will delete the QQmlAnimationTimer. In the destructor, any currently active animation job will be unregistered. The animation timer has a list of all top-level animations, and a list of running pause animations. A pause animation that is a child of a group (the normal case) would not be removed from the list when its parent was removed. This caused a read-after-free when the animation timer tried to update the deleted pause animation. To fix this, make sure that pause animations are removed from the list also when the parent is unregistered. Fixes: QTBUG-120433 Pick-to: 6.5 Change-Id: Ic6b5a8f09593114c50daf5525824cc814abb79f9 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 6e7fa22d4599484746c91b3e0f5fe2c3332a11e2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 2680b5164fe4606adf24fa6c47eae8b9b031fea6)
* Fix spelling of FFmpeg in (end-)user-visible stringsVolker Hilsheimer2024-03-021-2/+2
| | | | | | | | | | | | It's two capital "FF", lowercase "mpeg". Pick-to: 6.5 Change-Id: Icc379d0a680612b612ee306be7749697906bf4c3 Reviewed-by: Artem Dyomin <artem.dyomin@qt.io> Reviewed-by: Kai Köhne <kai.koehne@qt.io> (cherry picked from commit d0823fb78b2e0ab5b31021912806148c47dd29f6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit f084e3f7d617232d30271d80df2427a2ebb24496)
* qmltc/importvisitor: warn about type annotations on methodsSami Shalayel2024-03-017-2/+111
| | | | | | | | | | | | | | | | | | Warn when the types in method type annotations can't be resolved. This hinders qmltc from crashing when trying to compile a QML file with an invalid type annotation like `Qt.point`. To avoid copying and replacing lists, add helpers like mutableOwnMethodsRange() or mutableParametersRange() to obtain mutable iterators to the ownMethods of QQmlJSScope or the parameters of QQmlJSMetaMethod. Fixes: QTBUG-122251 Change-Id: Iffc6ff712fbeaa2fe8b83f94b0bc5a8c278d186c Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 4aa1deee1be966a6491ab5a1c1de09707a5e8215) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit a992badd6fe93812bbee206cc16f62f98ecc0f8c)
* Doc: Link is looping for Qt Quick Effect MakerJaishree Vyas2024-03-012-4/+7
| | | | | | | | | | | | | Added the macro in the config file as the name has chaged to QQEM. Fixes: QTBUG-118804 Change-Id: I88a3828b541d9ddb06316386b67c97257030e7db Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io> (cherry picked from commit d289b67cedb1b910f1f7eb1b3c1f95a7413defdc) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit d1f53a92a0c18ecd701daecfce7c5746f74e8910)
* Hover event delivery: don't modify a list we are iteratingVolker Hilsheimer2024-03-013-6/+60
| | | | | | | | | | | | | | | | | | | | | | | Delivering HoverLeave events might modify or even clear the list of hoverItems, which invalidates the iterators, and crash. Iterate over a copy of the list instead, and write the modified copy back to the hoverItems list if that hasn't been cleared while delivering events. To prevent that we deliver multiple HoverLeave events to items, check in the delivery logic that the item's entry in the map still has a valid ID for the event point. Streamline that code a bit by preventing multiple lookups in the flatmap, and instead use an iterator that we can use to update the existing entry if it's valid. Pick-to: 6.5 Fixes: QTBUG-122686 Change-Id: I5483e75884f1ddec37c4e98ecfee35e7596756c5 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit d00e890e5dbcc559bd63ae996e2b31485e3b03bf) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 60e2292e1086ffd27aedd3a25b2cce5e5605a131)
* QQmlPropertyCache: Correctly set flags when loading methodsUlf Hermann2024-03-014-8/+48
| | | | | | | | | | | | | | | We commonly load multiple methods in sequence into the same QQmlPropertyData. We need to set all the relevant flags for each one. Otherwise the wrong flags are transferred to subsequent methods. Pick-to: 6.5 Task-number: QTBUG-112366 Change-Id: I7432500b9149fdd8dd2dd98eb923ada70232fb6d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit 69ca18785c6693b6cf167dc95275a19399c7f4e1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 93f72abeb2756a9f0306904b8a74b0f340a4ecc6)
* quickwidget example: Avoid potential for crash on closeEirik Aavitsland2024-03-011-2/+5
| | | | | | | | | | | | | | | | Widgets that had been broken out to separate top-level windows would live on after the mainwindow was closed. Subsequent attempts to move them back to the tab widget would crash, since the that would be deleted by then. Fix by closing detached top-level windows on mainwindow close. Fixes: QTBUG-122790 Pick-to: 6.5 Change-Id: I0ae268c5e30b6563dc1556b3f79a83418cc3c703 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 1ebd8ef8535466f4d0059ad7b38682407c91d96a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit c9560d30e6837983f44ec3bf364224ae01d55f10)
* Fall back to retrying with "software" when swapchain failsLaszlo Agocs2024-03-014-23/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The idea being that a swapchain creation failure would end up behaving the same as as the QRhi::create() failure, in particular on Windows: for the latter we automatically retry with PreferSwRenderer set (i.e. requesting WARP), but until now this has not been done upon swapchain creation failures. (it is not clear under what circumstances we fail to create a swapchain, but reports from Qt-based applications indicate that this is happening out in the wild) If the first swapchain creation attempt fails, do what a device loss would do: drop everything, incl. the QRhi, and post a special event to the main thread do request a new round of rendering, upon which we'll attempt to reinitialize a QRhi and everything else in the scenegraph. We then recognize the flag and pass it on to QSGRhiSupport to indicate we want a software-backed adapter / physical device, if there is one. We won't retry afterwards if that fails too. This may also correct issues with device loss handling which did not correctly wake up the main thread. [ChangeLog][Qt Quick] The fallback to a software rasterizer, if applicable to the platform and 3D API, is now performed also upon the first swapchain creation failure. Previously this was only done if the QRhi initialization failed. Relevant in particular on Windows, potentially allowing functioning on systems that are incapable of proper accelerated D3D rendering, but, for whatever reason, do not fail early on upon the device/context creation, only later at swapchain creation. Pick-to: 6.5 Fixes: QTBUG-109708 Fixes: QTBUG-101200 Change-Id: I76f4aa132361d8f97ec6edfb3bf7806b4ce015b1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Andy Nichols <andy.nichols@qt.io> (cherry picked from commit 96299182fbc0b11a89ef153bce5be8268b9d87dd) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 32b4d8bb167fdddd39cacb8f56ff1e5aec6ddc2e)
* Binding: fix restore logicFabian Kosmale2024-03-013-0/+40
| | | | | | | | | | | | | | | | | | | | | Consider a Binding affecting a property which initially has a value (not a binding). When restoring the initial value of a property, we did not remove any binding that might have been installed on it by Binding. Then, when the Binding would subsequently get enabled again, it would pick up the still installed binding instead of the actually restored property. From that point on, the original value would have been lost. Fix this by clearing any existing bindings when we restore a value. Pick-to: 6.5 Fixes: QTBUG-122707 Change-Id: Ife7c43c7e799c71257fc04bbd76ff902422bd49d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 98ecc9adbbb0f032f4ef4341d4cdd896158d4409) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit a262824c22c069779900a9ddeda903c1ee33700c)
* Use showView in tst_qquicktextedit::mouseSelectionModeShawn Rutledge2024-03-011-12/+8
| | | | | | | | | | | | | | Not sure if this will have an impact on stability, but we have showView to standardize some boilerplate that was otherwise duplicated here. Pick-to: 6.5 Task-number: QTBUG-78846 Change-Id: Ic0faec8b11d162fac49bd6679c0652e9760238be Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit 2878c935b1d65ae71f8947c57319b8f547dbd43f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 243297abd1129762783ac18b6c377637d4ff7195)
* Stabilize tst_qquicktextedit::largeTextObservesViewportShawn Rutledge2024-02-292-2/+3
| | | | | | | | | | | | | | | | | | Ensure that firstBlockInViewport is set in all cases in QQuickTextEdit::updatePaintNode() where there is a viewport and we found one or more blocks that are within the viewport. Since 5ce225d6d310005f032ff319da8df15f7e10851a it's being used in a conditional check, so it's no longer only for the autotest; and there was an else case where it wouldn't get set. Perhaps that was happening in CI. Amends f878019332cc496cc00acd9554640ca198aa10a6 Fixes: QTBUG-109488 Change-Id: Ib7ccd4aee4e41ff84cf0ebaca00e295568bcb9f9 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> (cherry picked from commit c91ce0841cbb516f476819fe1c46dc0524abd6d3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit bb8aaf610e847ac95a046cb3c16a51124fcb91c8) Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Attempt to stabilize tst_how-to-qml's timePicker testMitch Curtis2024-02-281-14/+18
| | | | | | | | | | | | | | | | | | | | Top-level animations within a transition are run in parallel, which meant that the NumberAnimations that animated the opacity of the labels could technically be conflicting (even though it visually looked correct). This could explain why the test was failing when checking for the opacity to equal 1, and it was instead 0.96. Reduce the duration of the animations now that they execute in succession, as originally intended. Amends d414c81f38d8fea47d91c9414bdecda9ea7761a1. Task-number: QTBUG-122679 Change-Id: I51c62d8c95d54194fd2fb2273c9644378d4b61e5 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit ee988e556af28042070ceb535f56f9ac58612947) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 6f0f436fa9540a01b50185678bdef9aaef199cb2)
* Update dependencies on '6.6' in qt/qtdeclarativeQt Submodule Update Bot2024-02-271-5/+5
| | | | | Change-Id: Ibd956dc2c53eb4d741a471c674a88a78d17102de Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* QtQuick: Fix double-exporting of QEventPointUlf Hermann2024-02-263-1/+19
| | | | | | | | | | | | | | qmllint would stumble over this because it only sees QEventPoint in the signal parameters and doesn't know which one to use. Amends commit c9e8ad032054174889163ab6d0e65bc719365175. Fixes: QTBUG-115439 Change-Id: Idb2020e01a86002cbb9e2e4507d897eec6e9b3a4 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit b7602fb64293ad66a3e68ceaba715a346f0a3887) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 98781091c4a420b0eee3cf716b56f77ea728a961)
* Update dependencies on '6.6' in qt/qtdeclarativeQt Submodule Update Bot2024-02-261-5/+5
| | | | | Change-Id: Ieaec7ddecd2216985769c924b1c21aaa8a97b880 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* qmllint: With --bare do not use the current directoryUlf Hermann2024-02-252-1/+16
| | | | | | | | | | | | That's what --bare promises after all. Pick-to: 6.5 Fixes: QTBUG-115478 Change-Id: Iae7563203709bc28b7bcaa0da68cad1826c035d9 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> (cherry picked from commit 7fae7bf04a28ff0751c8ff0aef0a1c42dc6db32d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 1b17d26a57d7abfc5548e14008473ceec60f55f1)
* QMinimalFlatSet: prepare for moving it to QtCoreMarc Mutz2024-02-231-3/+9
| | | | | | | | | | | | | | | | | | | | Change the header guard name and include the QtCore header, if it exists, in lieu of defining our own version. Pick back to current LTS in case we port QMinimalFlatSet-from-Core to older branches, too. This change doesn't really carry risk: either it compiles or it doesn't. Amends ff8299524e3a4e8654b7ec6bdbfe734a67c04e11. Pick-to: 6.5 Change-Id: Ibfc49d234731b3fc172fcdfa7107db0aa63b0ccb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 9df2d921628bca1def8993c75cddb5559fede60a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 3645895b2397b8399b536a569af620c9bd880ca6)
* QmlCompiler: Fix conditions around as castsUlf Hermann2024-02-235-19/+82
| | | | | | | | | | | | | | | | | We can only generate an as-cast from an optional value type if we know that the optional type is actually the requested one. Otherwise we have to reject for now. We might add more logic here in a further iteration, and process more complicated type assertions. However, we should pick such logic back to 6.6. Amends commit 05f56d7c78754855c643470ad4e8dfd35c96f927. Change-Id: I37fc1b6018bfb0663e5ce4fd80084c7d13c6d3e3 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> (cherry picked from commit e2611e8ee948b32a627277bb9783ce8f35cc2d69) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 32ab9996e28284f85dafc756ce868327cac50873)
* gallery: fix RadioDelegates not being exclusiveMitch Curtis2024-02-231-4/+4
| | | | | | | | | | | | | | The ButtonGroup was being declared several times rather than once. Amends b663020c9a60704dc53014522a3faa23892280a0. Fixes: QTBUG-122454 Pick-to: 6.5 Change-Id: If66f5a5a6841a56abbf93908c83facc9970def40 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io> (cherry picked from commit 8f705f0db91155401e50a750f0e7037d13df1d0a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 5d94598e4afe4b88ce100878ff250fc18bea2899)
* Accept mouse or touchpad in snippets with acceptedDevicesShawn Rutledge2024-02-223-2/+8
| | | | | | | | | | | | | | | | | | This is a workaround for platforms (such as Wayland and macOS) that are sometimes failing to distinguish mouse and touchpad. It's better for illustrative purposes anyway, since a laptop user may really be using a touchpad rather than a mouse, and we hope to eventually distinguish them on as many platforms as possible. Task-number: QTBUG-63363 Task-number: QTBUG-112432 Pick-to: 6.5 Change-Id: Ic7a374f1257d4aa57f29385b44da85ccaf4f5ec6 Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io> (cherry picked from commit 32a56ba8f08ddefa3d20c3003ed8599553b6d960) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit e801fced57c4844311587a397521cedd15ab77aa)
* HoverHandler: setHovered(false) for any pointer event outside boundsShawn Rutledge2024-02-223-39/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 8e822e981d91e688799c8670f11dfdf6aaf9e0d1 was expecting HoverHandler to receive a QTabletEvent when hover leaves. That worked before bbcc2657fa0dbf715e6db7d675662e4be94a1e04: a HoverHandler had a passive grab, so it would receive the next QTabletEvent that moved outside the item. Now that we stopped doing passive grabs, the event that indicates that the cursor is leaving the item is always a QMouseEvent sent from QQuickDeliveryAgentPrivate::deliverHoverEvent(). If the mouse event says the cursor is outside the item, it doesn't matter what device it came from: this handler is no longer hovered. But as before, if the position is still inside, and a particular HoverHandler is hovered because a tablet stylus was previously detected, do not un-hover merely because of a synth-mouse event at the same position. Amends 79893e1773be9d04208243cb88c1daf793d830a4 Fixes: QTBUG-116505 Task-number: QTBUG-101932 Pick-to: 6.5 Change-Id: Id0b622fad524ae4be8b37b9cb55e68384056964a Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit 5a762ba09cdeb8df5cf54ce562bc60dfcc11c97f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 688bd00cc7e8ad173fb007cd07a593a01a049098)
* Layouts: Make {Row,Column}Layout.uniformCellSizes visible to QMLJan Arve Sæther2024-02-222-3/+35
| | | | | | | | | | | | | | | Problem was that the property uniformCellSizes was inherited from QQuickLinearLayout, while it was only the concrete subclasses QQuick{Row,Column}Layout that was registered in the QML engine. Marking QQuickLinearLayout as anonymous solves this issue. Fixes: QTBUG-122024 Change-Id: I9612de2c43ba1219278ffbd417563e5c2788458c Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> (cherry picked from commit ac1c2e31721acf46596bef3213f65f4cfc739cb5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit b90ba4b7bb1ccd48c7615f25705244183a3eca2c) Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Update dependencies on '6.6' in qt/qtdeclarativeQt Submodule Update Bot2024-02-221-5/+5
| | | | | Change-Id: I24e5f7a86218ea4279b197c18654920822b3074b Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Force text layout update in the thread where its createdSanthosh Kumar2024-02-214-1/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | The text layout gets updated while invalidating font data. This creates an issue when quick text instance was created and invalidated across different threads. It mainly affects QQuickText::lineLaidOut() signal as QQuickTextLine is designed to provide information only about current line and its to be noted that the current line provided by QQuickTextPrivate was from stack. Thus, triggering this signal across thread provide invalid line information. Its possible to keep line in heap but that doesn't help as the ultimate purpose of QQuickText::lineLaidOut() signal is to provide current line information which user can hook to modify its geometry. This patch makes updateLayout() to be happening in same thread where the quick text object was created. Fixes: QTBUG-113039 Pick-to: 6.5 Change-Id: Ic0737cb514f663f87ac1cf21506ad76fee03643e Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit d548077d205d22610ceeb623006f7fa54d4c72c7) Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 1faaefe3bf59ca609e3729c183b6b5f3fab937fe)
* Remove margin adjustment in QQuickHeaderViewPrivate during syncViewSanthosh Kumar2024-02-211-11/+0
| | | | | | | | | | | | | | | | | Margin adjustment had been performed in QQuickHeaderViewPrivate::syncSyncView and also in QQuickTableViewPrivate::syncSyncView. This seems to be duplicate code. So, its better to keep this adjustment only in QQuickTableViewPrivate::syncSyncView, as its anyway called from QQuickHeaderViewPrivate::syncSyncView. Pick-to: 6.5 Change-Id: Ieea534932c9594b0c50b364c925575b8381c7290 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 87ffcd8239bac0f4adf8574948bd49f248e86b90) Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit d27fe6c07a7eae07705bffcfdc0b6ea513f3cde0)
* QtQml: Don't let objects be deleted during incubationUlf Hermann2024-02-203-10/+33
| | | | | | | | | | | | | | | As long as the incubator object is alive, it should hold on to the object being incubated. Anything else makes no sense. Re-use the "valuemap" slot to hold on to the object once its ready. Pick-to: 6.5 Fixes: QTBUG-119911 Change-Id: Ia9823aced5ec16a8da00e61ad7d606c63e40ed31 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 95965ba19f6a1cc04d8bc04e2c55ececcd87edbb) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 5723be147af1a77076924da1e422c39927140a46)
* CMake: Add the --resource arguments to the loader response fileUlf Hermann2024-02-201-2/+1
| | | | | | | | | | | | | | There can be a lot of them. Since we already have a response file, let's add them. Pick-to: 6.5 Fixes: QTBUG-116994 Change-Id: I4da068fd3892b9648fff15415614e3f8d662775a Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> (cherry picked from commit dfe35b2a45f8ed9fca161e02dbf2831ea2ebb5e0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 44a99a3c01abe36efc10400db0d4cf70c78a4448)
* qmllint: Restrict attached property validators to simple casesUlf Hermann2024-02-203-3/+29
| | | | | | | | | | | | | | | There is no API to propagate grouped and attached properties in a structured form, yet. Therefore we cannot properly analyze generalized grouped properties, yet. Pick-to: 6.5 Fixes: QTBUG-120526 Change-Id: I4c39536aea41469a1de04c5b588059960105dcde Reviewed-by: Semih Yavuz <semih.yavuz@qt.io> Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> (cherry picked from commit 80d937e9e037d4e7998c114b4174fda6b47f39b1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 5b113ad16aef379c8dae990cf217daa36fcef175)
* qmllint: Remove duplicates from fixes before applying themUlf Hermann2024-02-204-0/+38
| | | | | | | | | | | | | | There can be multiple places that suggest the same fix in a file. We only want to apply it once. Pick-to: 6.5 Fixes: QTBUG-118982 Change-Id: Ie14bf5904c7480074c44f80bb855d28e9b132588 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> (cherry picked from commit 8fce21105d2fb4aa4175da0096177faff1ca246a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit df70b6ca4041b8d980f37538382dddf69ba01b37)