aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update dependencies on '6.8.2' in qt/qtdeclarativev6.8.26.8.2Qt Submodule Update Bot2025-01-241-5/+5
| | | | | Change-Id: I1b6833b91ff0a23e32add3f32be975f66d5c365c Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Fix flakiness in tst_qquicktexteditAudun Sutterud2025-01-231-9/+9
| | | | | | | | | | | | | | | | On platforms running X11, windows are activated in an asynchronous fashion. It is necessary to wait for the activation to happen using primitives in the Qt Test library. This eliminates possible flakiness. Such flakiness is seen on Ubuntu and OpenSuse. Use QTRY_VERIFY instead of QVERIFY. This means that we wait five seconds for window activation to happen. Task-number: QTBUG-130374 Change-Id: I529b8d868bd3ecb5874ea8e9b950884ce1f8074e Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> (cherry picked from commit 00e0461172ba0384f029d01ce93c2b6f30c406ae) Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Update dependencies on '6.8.2' in qt/qtdeclarativeQt Submodule Update Bot2025-01-211-5/+5
| | | | | Change-Id: Ibddce6be80c0cc1a920ffa0f66c5853dd41f1c10 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* skip() tst_controls::Imagine::Popup::test_popupOverlayCenterInJan Arve Sæther2025-01-171-0/+4
| | | | | | | | | | | | | Blacklisting doesn't work since it times out. Unblock CI until a fix can be found. Task-number: QTBUG-132275 Task-number: QTBUG-132789 Change-Id: Ia162ced15ccf808fdde5d941406539ee4e6f84b9 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 97bff2510d55a5174602e3dd2b839f46d4aaecc5) Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Update dependencies on '6.8' in qt/qtdeclarativeQt Submodule Update Bot2025-01-171-5/+5
| | | | | Change-Id: I0ba1a643d319879bf6dc3f3d28b84a2ca8a114b2 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update Gradle versions in QtQ4A examplesOlli Vuolteenaho2025-01-1610-12/+12
| | | | | | | | | | | | | These versions are currently all over the board, and the intention is to have them in line with the Qt for Android requirements (which is Gradle 8.10 and AGP 8.6). Also update the Kotlin plugins while at it. Task-number: QTBUG-132815 Change-Id: I72d8cb15d80b8b69301bbc2bbfeebf779ef137df Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit 314c8eb4982e236d3b816a2cd688441d50c16acd) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit c27b4f71251782c4fd2102151fbee8b92f478554)
* qmltyperegistrar: Correctly handle namespaced foreign objectsUlf Hermann2025-01-153-0/+46
| | | | | | | | | | | | | The findType() may determine that the target object is in a namespace. Use the found type's qualified name rather than the name given in the QML_FOREIGN declaration. Fixes: QTBUG-132100 Change-Id: I1e8023a04fced64a5e6cd198ba7651712ee011e4 Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> (cherry picked from commit 319aa02fe2bab08c2c91eb504237839d1448bf73) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit b6cdaf28ebabefdbdd6a99ec68e1a41f3b4e9fd5)
* QtQml: Avoid potential gc issuesFabian Kosmale2025-01-1331-86/+187
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implicitly constructing a value from a ReturnedValue muddies the responsibility for ensuring that the gc can find the object. With this change, we disable the implicit conversion. The expectation for lifetime management is now: - If a ReturnedValue is stored on the C++ stack, it must be put into a QV4::Scoped class (or there should be a comment why not doing so is safe). Passing a ReturnedValue to a function should no longer be possible, unless the function takes a ReturnedValue, in which case the expectation is that it stores the value in a place where it can be seen by the gc, before doing anything that could trigger a gc run. Using Value::fromReturnedValue can still be used to pass a Value on, but in that case, the expectation is that there is a comment which explains why this is safe. - If a QV4::Value is obtained from a function call, it ought to be stored in a ScopedValue, too. We currently can't enforce this easily, so this should be checked during code review. A possible way forward would be to disallow returning Values, but that would be a larger change, and is deferred to the future. - If a functions has a QV4::Value parameter, it's the callers' responsibilty to ensure that the gc can find it. Pick-to: 6.5 Fixes: QTBUG-131961 Change-Id: Iea055589d35a5f1ac36fe376d4389eb81de87961 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit a5feec81934ab0b074d6a8c7621b591851f6b544) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 64526c5e47a5f7217bced8f5affe29b5f1dc0c99)
* qmlpreview: Do not create file loader until neededUlf Hermann2025-01-121-3/+4
| | | | | | | | | | | | | | | | | | | | | | | ... and delete it when not needed anymore. While the preview service is inactive we don't need the file loader. Since the file loader is rather heavyweight and comes with its own thread, we should limit its life time. Furthermore, it is suspected that the termination of the file loader thread in the file loader's dtor triggers a bug that causes the debugger tests to hang. Terminating the thread already on state change might work around it. Task-number: QTBUG-101678 Task-number: QTBUG-101972 Task-number: QTBUG-102984 Task-number: QTBUG-132697 Change-Id: I244aa4c3d4257f0c4b8f46f826710a76cf389baa Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 529491f6dc8d0d49129333861c7812ce4931dc69) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 4fdef30fe1dc21555df347d67bebe063b39f7a01)
* QtQml: Fix docs about QVariantList and QVariantMapUlf Hermann2025-01-121-13/+21
| | | | | | | | | | | | | | | QVariantList does not have to be stored as literally Array, an array-like that we also use in so many other places is entirely adequate. Furthermore, you can update QVariantList properties in place these days. Pick-to: 6.5 Task-number: QTBUG-125289 Change-Id: Iacf45579b1db31d7644259f9a0e46e595fe7ecfc Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 892fbeffe23afb3ce0a48ca8357e18f14db649e9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 6e3ef191c615b1ef1983d9a6421f0ee36d93b71c)
* Popup Window: prevent crash when closing a popup before its initializedOliver Eftevaag2025-01-121-1/+2
| | | | | | | | | | | | | | If finalizeExitTransition() is called before prepareEnterTransition(), QQuickPopupWindow::setVisible would get called before the object is initialized, causing a crash. Fixes: QTBUG-132523 Change-Id: I8b737647f0a8d235851e98650efc184d96a661c6 Reviewed-by: Fatih Uzunoğlu <fuzun54@outlook.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit c0c1f96ad3e2a241fcaff327bea7bd38df9de378) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit c18d134af750e2f3dd7935aa8d88e767a1e7ef73)
* qmlls: hint to missing builds on import failuresSami Shalayel2025-01-102-4/+5
| | | | | | | | | | | | Amend 5c3cb2439fbb7a45d100c4452ff71ffbc93cbd3e that forgot to list a missing build as a potential reason for QML modules to not be found. Task-number: QTCREATORBUG-31897 Change-Id: I584725ad8ff1c0db08d33a1eeea3f61f0a6ca0de Reviewed-by: Semih Yavuz <semih.yavuz@qt.io> (cherry picked from commit 939b1b2f217979df32c7fb60c31987479568ad2e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit cf4d11dda841d6e1eaa87eb577412493e8f1efdd)
* QML debugging: Flush warningFabian Kosmale2025-01-101-1/+3
| | | | | | | | | | | | stderr is normally unbuffered, but that behavior can be changed. Ensure that our warning doesn't get lost by explictily flushing stderr. Fixes: QTBUG-132350 Change-Id: I72463a62da50ec6bb551a110c719b061273f2595 Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> (cherry picked from commit 032ecd52f0657ea99d5baf852f7217447c0cc8ad) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 884b3c575ac2318a32fca6bcb2bfcb0db9d56b94)
* doc: Fix font, url and point QML property documentationDavid Boddie2025-01-101-2/+2
| | | | | | | | Change-Id: I9d2124ad8b56d94208d23fda19adeb37e6362213 Reviewed-by: Andreas Eliasson <andreas.eliasson@qt.io> (cherry picked from commit 1545bba700377244ac5aa756680da62e5664499a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 53d134d584957b6caac75b1e899f5304b7ec943a)
* TreeViewDelegate: hasChildren should be bool, not intRichard Moe Gustavsen2025-01-102-2/+2
| | | | | | | | | | | The documentation and the manual test declares 'hasChildren' as 'int'. It should be 'bool'. Change-Id: Ied8c66f3758e759b5803cf0e08135555644747b8 Reviewed-by: Matthias Rauter <matthias.rauter@qt.io> (cherry picked from commit 8212fe7827529207836a2d6f171790a8d886803f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 7382fe9556a96a2d2f734b05dd5b191777d9e80d)
* SelectionRectangle: Deactivate when the last cell is unselectedMohammadHossein Qanbari2025-01-105-1/+71
| | | | | | | | | | | | | | | | | | | | | | This commit introduces changes to ensure that the SelectionRectangle is properly deactivated when the last selected cell in QQuickTableView is unselected. Key changes include: - Added a virtual method `hasSelection()` to QQuickSelectable interface - Implemented `hasSelection()` for QQuickTableViewPrivate, which checks if any items are selected - Updated QQuickSelectionRectangle to utilize the new `hasSelection()` method to determine its active state The test case checks that after deselecting the last selected cell, both the SelectionRectangle and its handles are properly deactivated. Change-Id: I97214bb0d91dda8a902a4725918b60209b853acf Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 398af1e359d180360fdd0a87f1681111c12eaefb) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 37417486355435eebfae0f8d85e3a115dba9dd42)
* Tests: Do qt_autogen_tools_initial_setup also for confused pluginUlf Hermann2025-01-091-0/+2
| | | | | | | | | | | | Amends commit 735556d19d7bd67a1a9729586743e1c8b86de257 Pick-to: 6.5 Change-Id: I10d9d29c8e0e01d24c200c8729698ad38ebad35a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 9970560a3d879be924d9e25ac57aa2be6c0fec38) (cherry picked from commit 50981285084bc9bfe6855faa30e4dc85622dafa8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QtQml: Do not crash when loading .js files as QMLUlf Hermann2025-01-096-0/+33
| | | | | | | | | | Pick-to: 6.5 Fixes: QTBUG-132118 Change-Id: Id5f680b3dfe1118c3af7cf32d1da7492119a4e51 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> (cherry picked from commit 78ccc84dde92d787a08b7cab6486527e9e57f183) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 8454f7d2ddb04c5d0253117fe68be933831afb8d)
* QtQml: Accept .js and .mjs files in directory-listing qmldirsUlf Hermann2025-01-099-13/+65
| | | | | | | | | | | Since it's documented like this, we should actually allow it. Pick-to: 6.5 Task-number: QTBUG-132118 Change-Id: I2192f040b8fdf545b8dbb0687b6e618a9858ed07 Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> (cherry picked from commit 735556d19d7bd67a1a9729586743e1c8b86de257) (cherry picked from commit e6545190470839b30449dd9262025036ec622f66)
* Tests: Increase timeout for killing debug processesUlf Hermann2025-01-091-1/+1
| | | | | | | | | | | We've seen a case where the process wouldn't finish within 5000ms. Task-number: QTBUG-132591 Change-Id: Ia844b9e220d6bbac759cab3b27126e954c867134 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> (cherry picked from commit 3a862c4d5ab627071d47266849ad8184ff2ef7f6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 5d07c308f8bd65cbaef88bce080c04588283e296)
* QmlCompiler: Do not regard 64bit integers as primitivesUlf Hermann2025-01-082-7/+11
| | | | | | | | | | | | | We cannot store them in QJSPrimitiveValue. This exposes that on LoadElement, we need to create the AccumulatorConverter before using the index register (since it changes by accumulator conversion). Task-number: QTBUG-132345 Change-Id: I0a7b2735c1dc330cc768f9d9c11cec5573faf13c Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> (cherry picked from commit 1e570d022b2bd1a6a33c6afed3937741775a9202) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 8e11092d271f2b4ac3e72bd058282c3d32760b43)
* Blacklist ToolTip::test_attachedSizeBug for all stylesShawn Rutledge2025-01-088-0/+33
| | | | | | | | | | | It seems that it's not style-specific. Blacklist it to unblock integrations until a fix can be found. Task-number: QTBUG-101704 Change-Id: I3458e209a9bad98b72eb2ad6457b04cdce0e6c56 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 8dc9dc2bd86c772fa1c9da41dda853ed1169e777) Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Doc: Fix typo in tab setupVenugopal Shivashankar2025-01-071-4/+4
| | | | | | | | | | | Fixed typo in one of the argumernts to tab setup, making the default tab invisible on page load. Change-Id: I2287ec86855e8d6e569258792c49a46307914bde Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 68a81b70f3286903e43e2ca720acf42c22595a51) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 15155e9e1f605f586e198c6e113ff5a7c7204ac0)
* Text: calculate implicitWidth even when width hasn't been setMorteza Jamshidi2025-01-073-1/+14
| | | | | | | | | | | | | | | | The item's width may be controlled by a layout, which needs implicitWidth to decide what the actual width should be. Alternatively, if Text width has not been set, it should be the same as implicitWidth, rather than being as narrow as possible and word-wrapping excessively. Fixes: QTBUG-129143 Change-Id: Iabc619e07b16a903104ab9724e48104adbca4829 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io> Reviewed-by: Lars Schmertmann <lars.schmertmann@governikus.de> (cherry picked from commit 52b5aaaabbbdef3da9fd9ffc2cf3fb947196ab24) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 1826242257fa8021a11dadd6cda653bad5e9e170)
* TableView: fix -no-feature-quick-draganddrop buildShawn Rutledge2025-01-073-2/+18
| | | | | | | | | | | Now it builds if Qt is configured without DnD. Fixes: QTBUG-132355 Change-Id: I76c7660e32c19dcb96a72a116eb6475ffb56183b Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit f48d6b4159bc391d77588d92d1bb06b468231241) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit d3ab7bc162566a74efa1d44adf8922d94bf6dbb5)
* Fix the aostats targets handlingAlexey Edelev2025-01-071-12/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | When calling both qt_add_qml_module and qt_target_qml_sources without QML_FILES, cofiguration fails because of duplicated target records in the _qt_qml_aotstats_module_targets property. In general extending the existing API with the double invocation guard ADDING_QML_MODULE is completely pointless. We simply should move the related logic to qt_add_qml_module. Remove the ADDING_QML_MODULE flag to avoid littering the public API with some internals and ensure that the target do not land to _qt_qml_aotstats_module_targets list twice by moving the respective logic. Amends 09f51978f4ab03f9dcaa36aba4f0c861f59b890c Task-number: QTBUG-130087 Task-number: QTBUG-124667 Change-Id: I743b6ed89a5639e39384cfa3c621a88c3dfa409e Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 7d36867bfe0e45954294a219550b9808b1806a05) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 27cd914737dc4e63110975b747061d5f7f7374b9)
* Sync QQuickWindowQmlImpl::visible with QWindowShantanu Tushar2025-01-063-1/+52
| | | | | | | | | | | | | | | | | QQuickWindowQmlImpl introduces its own `visible' Q_PROPERTY so that it can do its own things (such as applyWindowVisibility()). However, things get out of sync if the user of the window uses show() instead of setting visible=true. An example of such a case is included as a new unit test for QQuickWindow. Change-Id: I0b5b2635919f61a50999fc3ba15a87de8f7074e9 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 8182cc1042fc6e46c771e008cf19ee3fcb6328ae) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 27bc4d0978033261362acf419678e25d7dad535d) Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Software Renderer: Ensure flushing of previously dirty regionsAndy Nichols2025-01-061-1/+9
| | | | | | | | | | | | | | | | | | | | | Previously, if an opaque item was moved completely behind another opaque item between frames, the previous region occupied by the item might not be flushed. This occurred because, when subtracting the obscured region from the node’s dirty region, the dirty region could become empty. In such cases, the node would mark itself as no longer dirty, resulting in no flushing for the next frame. This could cause the old position of the item not to be cleared properly. To address this issue, additional logic has been added to ensure that the previous dirty region is still flushed, even in this edge case. Fixes: QTBUG-132192 Pick-to: 6.5 Change-Id: Iad45ddeeb65e70090e8368d94245b13692017fd1 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 6f653fff7f6865a35c89f4163713134ff7a2b26e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit f5760123c7d11369a3b666287fd4537d67f6793e)
* tests: silence cmake warningsTim Blechmann2025-01-043-3/+6
| | | | | | | | | | | Configuring the project emits cmake warnings about QTP0004 not set. This patch allows configuration without warnings. Change-Id: I51a7fe49769eacf17357fd8227eaca232704af47 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 86328115468bf474ba565b9f97cdbb551bb467e7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 7f2f650155a8dbe3dff695ad912fbc84d7e57450)
* CMake: Fix installation of qmlcache's .prf files in cross-buildsJoerg Bornemann2025-01-031-33/+2
| | | | | | | | | | | | | | | | | In cross-builds of Qt we missed to install qtquickcompiler.prf and qmlcache.prf. Fix that by installing these files before the qt_internal_return_unless_building_tools call. Remove qmake2cmake conversion cruft as drive-by. Fixes: QTBUG-132423 Pick-to: 6.5 Change-Id: Ic7a63af90985e42c221cce2c54de285f03b09999 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 2c39e1196e82d0b935aaa2c82ed083222f6d3c0a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit f5abe5af63a5ee798d6520a14e9a7ef357ea2ebc)
* QmlCompiler: Round towards 0 when coercing to 64bit integersUlf Hermann2025-01-026-67/+94
| | | | | | | | | | | | | The regular int32 coercion doesn't apply here. We have our own logic for this case. Task-number: QTBUG-132345 Change-Id: I96596567ce83fcaa714c8372171261e8dd876480 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit daab238846a80b83b0dabb50a4244a7eb29955f4) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 54fb581ab3d09712c04e3418c369c86c286420bf) Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
* QmlCompiler: Name types when initializing structured value typesUlf Hermann2025-01-025-2/+67
| | | | | | | | | | | | | | | | | The conversion is not required to produce the same type. It can also produce something equivalent that holds the same value. For example an integer of a different kind that on assignment gets C++-converted. This also exposes that the read type is not necessarily expressible in C++. To make it expressible, merge it with the type present in the register. Task-number: QTBUG-132345 Change-Id: I07accb38062b7c89ab60d50bf6cbd63423e68301 Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> (cherry picked from commit 70d9a5cbcd1ef482e4f192201a2c60a742607e6b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 18f9246d2e7648318008b4fada4cc6155153e0ad)
* QmlCompiler: Drop some of the type shuffling on SetLookupUlf Hermann2025-01-026-4/+197
| | | | | | | | | | | | | | For primitive types we can use the register as-is. Also, explicitly name the type we are going to use to avoid integer range mismatches on coercion. Task-number: QTBUG-132345 Change-Id: I98d246b03e5194235246ee8e4ebcb0a8e0094a5b Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> (cherry picked from commit 38d65db7aecee073099a5622ec3bc6e297041041) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit c1231e6836c722f5707ff2cc02cd9b7b488ff6c9) Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* qmllint: Do not call the same pass twice for the same bindingUlf Hermann2025-01-021-3/+7
| | | | | | | | | | | | | A pass may register itself for multiple kinds of elements. It still wants to be notified about each binding only once. Task-number: QTBUG-127691 Change-Id: I5328d548cae30979da6c9f1c2fccebdf89997236 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 6c3149e51e86349c41bbf4ad5141bbfe3825e1ea) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 49cb779ae19fe5a4441d5ffeeb806c03cb915fcf) Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* CMake: Fix find_package call in Qt6QmlFindQmlscInternal.cmakeJoerg Bornemann2025-01-021-1/+2
| | | | | | | | | | | | | | | | | | | | | Qt6QmlFindQmlscInternal.cmake tries to find the Qt6QmlCompilerPlusPrivateTools package and specifies a version. That version was PROJECT_VERSION, which is the version of the user project. It should be the Qt's version instead. Read the package version of the Qt6::Qml target and use that in the find_package call. The target is guaranteed to exist, because the Qt6QmlFindQmlscInternal.cmake inclusion is guarded by a check for this target. This amends commit b0f1ec4e394dcee82400964225be485a7cdd3c53. Fixes: QTBUG-132421 Change-Id: I04402296b351ef8df991ade697c633594b0b17b5 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> (cherry picked from commit eff776c676b042bd75604105a3876f999b9808d5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit fd2299083d4ff007f1df22b07e9bdff1cad1a89d)
* Fix link in QtQuickView documentationOlli Vuolteenaho2024-12-301-1/+1
| | | | | | | | | | I guess this one was missed in d37583094a73ca85151f07c4570db916424d7a94. Change-Id: I79778d028c00a5b732f76a4775361fbb98e447bb Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit 0033e3f7f1f6e413e107f9060f236f3696b1d3f5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit e1837bf1a6540068beae1e0198bfc66fb67da9cc)
* Doc: Fix wording in "Directory Listing qmldir Files" sectionJoerg Bornemann2024-12-301-1/+1
| | | | | | | | | | The first sentence was missing a verb. Change-Id: I8d9e713dddf6afdaeaf843949b2d0cadf4b267b1 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit b0b91b004cc492356773793fbebad7ec79dfcadd) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit d797ee01d69b36ba31bc29e8de073e127037c0c8)
* Avoid deprecation warning in qandroidquickviewembedding.cppLars Schmertmann2024-12-291-1/+1
| | | | | | | | | | | | | 106:33: warning: 'QString' is deprecated: Use fromUtf8, QStringLiteral, or QLatin1StringView [-Wdeprecated-declarations] 106 | qPrintable(propertyValue.className())); | ^ Change-Id: If3dc5a80d49cbeb2ea02f42f7c7c836eb1211714 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit 8a9b389deab4bccab7ccaae7554e74dd6bf8c16e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit d88d89e70f7b0849cad1eb2a9cf8b8e382a69095)
* tst_selectionrectangle: Update tests for TableView without delegateMohammadHossein Qanbari2024-12-221-176/+459
| | | | | | | | | | | | | | | | | | This patch enhances the test coverage for SelectionRectangle when used with a TableView that has no delegate set. The changes add the following considerations: 1. Verify that selection doesn't activate when no delegate is set 2. Cover potential crash scenarios 3. Consider the no-delegate case The related fix patch is: 481d2e54cc41960264878fcafdff13d702729712 Change-Id: I0e91491bc4a07aeb9dd9f4ae02e7137201c9bca4 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 53fced6aeb3414fb2fa40eedd9da8605b3e0d79a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit d845a2de2917a2401a65dabc19492947c7141d46)
* Fix verification of jsroot metatypesUlf Hermann2024-12-217-107/+89
| | | | | | | | | | | | | | | | | This is in fact a test for qmltyperegistrar and it makes no sense to check the qmltypes. Those can only be generated by qmltyperegistrar's --jsroot argument which will use the built-in metatypes. The interesting part is whether the metatypes are correct. Check that instead. Amends commit 578946437fb31edd6aa78612e9db8fed9a3eb210 which introduced an attribute to qmltypes that can only be generated with the --jsroot argument to qmltyperegistrar. Change-Id: Iae9f7d08980ecb09f61000b7f63d6d7e9a746970 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 4f8d7e504e5d4fc923dc978fc5935a4fcbc91f59) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit cfdad67fd4508cd34311e1e41ed524ec2ab5aec6)
* Correct the spelling and style in the DoubleValidator class descriptionAlexei Cazacov2024-12-201-16/+17
| | | | | | | | | Change-Id: Ice0d17f4564d500e83ec205395ff7f50a50f1768 Reviewed-by: Ali Kianian <ali.kianian@qt.io> Reviewed-by: Mats Honkamaa <mats.honkamaa@qt.io> (cherry picked from commit 0e9448bb4cc43285aa40f6e76dbec7f75e358be0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 8d41cbe533a71bbdf0e7515af060e3909099b3f5)
* FocusFrame: Don't remove binding on visible propertyDoris Verria2024-12-203-6/+0
| | | | | | | | | | | | | | | | When calling moveToItem() when the focus object changes, we were explicitly assigning the visible property. This caused the previous binding declared on the visible property of the frame to be removed. To fix, don't assign the visible property on moveToItem, as the binding on the target item and its visibility will take care of that. Ammends 945c3a98edac75cac082b1719c380a0bae861944. Pick-to: 6.5 Change-Id: I504a0e00000c5fdfb8c5193b9fa2314199a7c4e0 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> (cherry picked from commit b3d1d8bdb8a63fa939988bbf79c0596324698039) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit a28dbdc5fb936f1076b02b449ea3c87a49c01114)
* qmllint: Warn about bad binding owners only onceUlf Hermann2024-12-201-2/+3
| | | | | | | | | | | | ... rather than once per binding. Task-number: QTBUG-127691 Change-Id: I632d3001138db1452119e5b97993c31c9a49638c Reviewed-by: Semih Yavuz <semih.yavuz@qt.io> (cherry picked from commit d5699c339c32228fc2d66edf84f3ca2a31a69a14) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 176cdc8503bacaf39c423b58555fc1f9bb269665) Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Update dependencies on '6.8' in qt/qtdeclarativeQt Submodule Update Bot2024-12-201-5/+5
| | | | | Change-Id: Ifc61c88317de39447f0d6ea476aab7ad4d8af944 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* QObject: Suppress extra arguments on connectionsUlf Hermann2024-12-192-7/+21
| | | | | | | | | | | | | | | If we use connect() to connect signals to other invokables we don't want to see the warnings about extra signal arguments. Amends commit cbe1869fbe7048f34513b201a1d9111a0a64257a. Pick-to: 6.5 Fixes: QTBUG-131774 Change-Id: Iedec7b7c9f71cf2493ccdc00841e087bd336e028 Reviewed-by: Semih Yavuz <semih.yavuz@qt.io> (cherry picked from commit b7d1fafe5b72616964fb7338e26bfc3857e57490) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 0c53c4e3d888d296d9366552a07657a11e6cc150)
* FluentWinUI3: Show focus frame when focus reason is from arrow keysDoris Verria2024-12-181-5/+5
| | | | | | | | | | | | | | | | | | | | We don't have a Qt::FocusReason enumerator value that represents the focus reason being arrow keys, so for cases that an item gains focus due to arrow-key navigating, the focus reason will be OtherFocusReason. The FluentWinUI3 style only draws the focus frame when the focus reason was Tab/Backtab to avoid drawing it for focus reasons other than keyboard focus, but it should draw it for when focus shifts due to arrow keys too, so include Qt::OtherFocusReasons in the conditions. Also, reset the focus frame when we can't find a focus object AND when the focus reason is none of the above in order to avoid showing the frame around an item that lost focus because of another reason. Fixes: QTBUG-130328 Change-Id: I6cbc13124a0e672bf453896bafd0ba1d8656449e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit d89045996da43c55cf9bbe80563b6a02d307cf95) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 788af10402b8b54e86c0a6f0cf5087c2b59a0fc8)
* Focus frame: Don't delete focus frame whenever new focus item is nullDoris Verria2024-12-182-2/+8
| | | | | | | | | | | | | | | | | | | | When we didn't find a new target focus item we would destroy the focus frame object and recreate it the next time a new valid focus item is found. This can be expensive due to cleanup and reallocation calls, and it can also lead to a crash during parent destruction because the focus frame gets deleted as part of the parent item's destruction, potentially triggering changes in the focus object that result in another attempted deletion of the focus frame. Instead, in case of an invalid new focus item, we should just set the focus frame's target item to null when calling moveToItem. This will handle that case by making the frame invisible and setting its parent to null. Change-Id: Icf46af0ce3c79bab09343a2262688fb33ed8a4d9 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 15e471fdd8b810e4ad41c9f80acff106a7e368ed) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit a35f247296191a8b6545151c52ae930c5b526f08)
* QV4::Value: introduce undefined helper methodFabian Kosmale2024-12-181-0/+5
| | | | | | | | | | | | | | | A value storing a primitive like undefined is completely safe. Having a helper method to create it eases porting (usafe) code which directly accepted QV4::ReturnedValue as a parameter to a variant taking a QV4::Value. Pick-to: 6.5 Task-number: QTBUG-131961 Change-Id: Ib1c27d45706faa570edc175245e9f34b4ceabcc8 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit ac2d9bf0f2c32bdd6a64b8421c414a28369cbe2e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 1db7d576b78f53b7a6d25db1731be385727595c1)
* QtQml: Revert to old executable memory detection for macOS on x86Ulf Hermann2024-12-181-0/+21
| | | | | | | | | | | | | | | | | Since we cannot figure out what exactly has to be done to prevent the JIT from crashing, we perform a partial revert of commit 912af1e8b4c1f62802a3e0a4b428bb4e9f4d2c90, only for this platform. The bug fixed by the original change is specific to linux. Therefore this doesn't cause any real harm. Fixes: QTBUG-131957 Change-Id: Ic3baf32aae1f0f2feb9abc34b9f43a5db867165b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 4f64760f3bac8aa0278d8a315297712405865836) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 1ff874827a588d36ad0019c1dce7bfe5c05ca615)
* FocusFrame: Remove the kludge with the invisible root itemJan Arve Sæther2024-12-183-62/+50
| | | | | | | | | | | | | | Now when we call setTransparentForPositioner(true) on the focus frame, there is no need to keep the root item with size(0,0). The only purpose of having that item was so that layouts would ignore the focus frame. Pick-to: 6.5 Change-Id: I6224dced83c054b573eb682997e238a0cf1f4776 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io> (cherry picked from commit adaeacfc3e5b7f8f8f19db7b865bb3f9e383d838) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit b97c220ca0323aa62b06a54662ddf69b3a6f5445)