aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'v6.5.5-lts-lgpl' into 6.5.56.5.5Tarja Sundqvist2025-07-02131-131/+131
|\ | | | | | | Qt 6.5.5-lts-lgpl release
| * Revert "Update commercial SPDX-License-Identifier"v6.5.5-lts-lgplTarja Sundqvist2025-06-09131-131/+131
| | | | | | | | | | | | | | | | | | | | | | This reverts commit 6517e8df24d2381e951b9ec3e0cda2ae33edac37. Commercial SPDX license identifiers need to be removed from the opensource release. Change-Id: I60f8c76ace400db6182e012c8aae050d13d262e9 Reviewed-by: Jani Heikkinen <[email protected]> (cherry picked from commit ab97288de27970ba3cb0300158df757c01dabd77)
* | Merge tag 'v6.5.5-lts-lgpl' into 6.5Tarja Sundqvist2025-03-04233-672/+1978
|\| | | | | | | Qt 6.5.5-lts-lgpl release
| * Merge tag 'v6.5.5-lts' into tqtc/lts-6.5-opensourceTarja Sundqvist2025-01-29233-672/+1978
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt 6.5.5-lts release Conflicts solved: dependencies.yaml src/quick/doc/snippets/qml/treeview/qml-customdelegate.qml Change-Id: Ifa297315fa0e6e70d9f26312f9183da4769d18fc
| | * Compiler: Handle method list return types from qmltypes fileOlivier De Cannière2024-02-163-31/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When parsing methods details from qmltypes files, the `isList` value was ignored. It indicates that the return type of the method is a list of the type specified in the `type` value. Add the isList flag to QQmlJSMetaParameter and make the return value a QQmlJSMetaParameter, too, so that we can pass the flag to the type resolution. Fixes: QTBUG-122106 Change-Id: I6ea07c02fbeb6cb07d9fe9184205ff7f3274fd73 Reviewed-by: Ulf Hermann <[email protected]> (cherry picked from commit e303d1282770e1fa1c2439d92f811c09d4e51140) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 411f6cce09c76bd0b6113c60c1c02ae610cd6486) (cherry picked from commit 7d3204ff061fa636ca73aa459ecf139c17334320) Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]>
| | * qmlformat: Don't add unnecessary newlines in empty JavaScript blocksJoshua Goins2024-02-161-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an empty JavaScript block is formatted then don't put in a newline and keep the braces on the same line. An additional test is added as an example. Change-Id: I01c8f09d43a91b91312bc1c94b153eaff1f55818 Reviewed-by: Semih Yavuz <[email protected]> Reviewed-by: Qt CI Bot <[email protected]> (cherry picked from commit c37b6b0c5b5f5c5effc96358a04a779e0ac9f3cb) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 083541a50d21273b1e2bc52df7da22c719c3c62a) (cherry picked from commit 15534cace50b4f8f0b3c25538da11202d27ea458) Reviewed-by: Sami Shalayel <[email protected]>
| | * qmlformat: Don't add unnecessary newlines in empty objectsJoshua Goins2024-02-161-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Empty component and object declarations are now collapsed, instead of putting the ending right brace on a new line. This makes code that uses these more readable and reduces the amount of lines used. The test data is updated to reflect this new behavior. Fixes: QTBUG-108660 Change-Id: Ifecfa2a37d5f787a89718ddcdefba17f305b181c Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Semih Yavuz <[email protected]> (cherry picked from commit 1b438b0395ba042604f6221712b5de20423130a1) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 341e40077a35c4be256432d9f3a64381cfb89811) (cherry picked from commit 8a0ac5340ce9ac191e5d2c94bd0ab5fc89234ea8) Reviewed-by: Ulf Hermann <[email protected]>
| | * QmlTest: Document timer drift between TestCase and TimerUlf Hermann2024-02-161-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pick-to: 6.2 Fixes: QTBUG-120105 Change-Id: I5d07068a6ed639b461cd3c9e314869a72d13f5b0 Reviewed-by: Andreas Aardal Hanssen <[email protected]> (cherry picked from commit 198a90f56255bf9e5cf4416b973682cdc708d77b) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit b156a1f1f93b4d374a455f10bf13c642746325a7) (cherry picked from commit 11dcf2d228838f146626185204caf2de2506a4a1)
| | * MultiEffect: Avoid crashing without QQmlEngineKaj Grönholm2024-02-151-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-122256 Change-Id: I116658ce3d454e72e854bd5cf4d31dd736cca10d Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]> (cherry picked from commit 936e977f0046549c8faab1ae4227bc44366090bd) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit e3a7145f65cc51a5ffdf4d78f738a74d4216f968) (cherry picked from commit 6f61dad6f674af4a01d32eccf477fe4b7ebb4afd)
| | * QmlCompiler: In debug mode, set instruction pointer before each lookupUlf Hermann2024-02-141-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This produces some overhead, but helps with debugging. Without the instruction pointer we cannot determine the line numbers for console.trace(). Fixes: QTBUG-119459 Change-Id: I75a6bb1fcedd8514e2ba46d02dd2904ce222f0e4 Reviewed-by: Fabian Kosmale <[email protected]> (cherry picked from commit 28340bdeb034de8e43ab0eb4c3df9fb4b7c2f478) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 166915d89bacbee6a61b7e21baf2b1221c257c5a) (cherry picked from commit 40e58e3ff753ad32f3770af1af6e8d2114612b9f)
| | * qmlformat: Don't indent call expression twiceJoshua Goins2024-02-131-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is common when passing properties to functions, which are inside of a new block. The test data is changed to accommodate this new expected behavior. Change-Id: I27e19468ff3af11ffcacf38cafec4754fb9ec5d7 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Ulf Hermann <[email protected]> (cherry picked from commit 278663393140673c193c2e75e4e2124f230ae35c) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 7e76592a6df1185c5f551c5582035889416126db) (cherry picked from commit 0d0bf0ce9a3530f46609c425b1b6a0ad2ae4296b) Reviewed-by: Sami Shalayel <[email protected]>
| | * qmlformat: Don't remove newlines between import statementsJoshua Goins2024-02-131-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When writing QML files, it's common to use newlines to separate groups of import statements (e.g. separating imports from Qt and your own.) Now qmlformat will preserve the newline grouping, but ensure that it's only one newline and will strip out extra ones. A test is added to ensure this does not regress. Change-Id: I8f158c46886bc0be2313a0e57d6b7c52a1df28fa Reviewed-by: Fabian Kosmale <[email protected]> (cherry picked from commit acf6c9f98880fac3afae08e6710e34f36098abc8) Reviewed-by: Volker Hilsheimer <[email protected]> (cherry picked from commit e3936d700848dee323b045d1da16cdfae2a1e13f) Reviewed-by: Sami Shalayel <[email protected]>
| | * qmlformat: Fix object declaration indentation in arraysJoshua Goins2024-02-131-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Object declarations inside of array patterns did not insert newlines correctly. This fixes those while not touching other types of array initializations (such as numeric literals) and the one of test data. When extra commas are added to the end of arrays, they are now kept on the correct line as well. Change-Id: I8fe67ef066b84f56237449c7695990daa915b4b6 Reviewed-by: Sami Shalayel <[email protected]> (cherry picked from commit 295a1ce389cda8f360835c89d9a3b32cbcba7eb6) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 2b1bcfd3b6b2bdcd387e3dc645f35afa9672404b) (cherry picked from commit dd6346e0f8ba8a1b6672ec3f398cbac013365857)
| | * qmlformat: Fix property names with escape charsSemih Yavuz2024-02-131-11/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Formatter was breaking the string literal property names if they consisted some escape sequences. Remove the complicated logic for rewriting, instead use the same literal that was scanned and assigned to propertyName. This also changes the way object keys are handled by qmlformat. [ChangeLog][qmlformat][Important Behavior Changes] qmlformat will no longer add "" characters automatically in the object keys unless the object key is actually a string literal. Fixes: QTBUG-113776 Change-Id: Ia3fe333a6730bdb95c01016ba22a5676e97845b8 (cherry picked from commit d661e38affb7c59e1bd31e06de1f67ce5d1f82db) Reviewed-by: Sami Shalayel <[email protected]>
| | * Compiler: Assert against noop instructionsOlivier De Cannière2024-02-121-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The left-over instructions of QTBUG-109261 were only able to persist because the dead code analysis assumes that instructions aren't noops and because the StoreElement instruction was not marked as having side effects. Since a521216b7149185de9c82b9b6b34486dac8794a1, StoreElement has been marked as having side effects and the left-over instructions can thus no longer remain. The dead code elimination logic is thus fine as it is. Add an assert in QQmlJSTypePropagator::endInstruction() to prevent noop instructions in the future. Fixes: QTBUG-109261 Change-Id: Ida1a121f016c17954ac0005690c100b468378198 Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Qt CI Bot <[email protected]> (cherry picked from commit 04c1588965b9a4b12ebf04b23e5336fe88bb4f56) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 06281a668fc2f83f56c498b6f8b893af868cb9f9) (cherry picked from commit 7f3466d1560c998c81d7a570e9ff47216d5fbf22)
| | * Doc: Avoid using qmlRegisterType and friends to expose C++ to QMLAndreas Eliasson2024-02-121-14/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead, promote the QML_ELEMENT macro and how to edit the build files accordingly. Fixes: QTBUG-119984 Change-Id: I65da7e7aa67be7bb74c0a9a46ee917639d984e55 Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Mitch Curtis <[email protected]> (cherry picked from commit 8b226b37df9ab2b98eb9f794bdcaf0ba09297208) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 791db2d2f9329849586a858190324c566513c398) (cherry picked from commit 4680c592c45681e3cc7888f45fd53171b41bfe54)
| | * QmlCompiler: Do not access moved-from valuesUlf Hermann2024-02-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Coverity-Id: 435597 Change-Id: I1fe5ef3ef5651d2a8c76d24d381e78d1fe7a1345 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]> (cherry picked from commit ebf9e8e314d2ef3d59efd2c1c622313e28fac884) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 347b87bdcee459448fc14a3d8e4b3d0acf4673dc) (cherry picked from commit cd6e356ab142aefa93d75eeda79e4dcfff32ce72)
| | * QtQml: Omit nonsensical line numbers from console.trace()Ulf Hermann2024-02-101-11/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the line number has been marked as missing we cannot print it. Task-number: QTBUG-119459 Change-Id: I598820033011de67cc2c1a4e81910bd3539dcf5b Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]> (cherry picked from commit fab3553165e9ee13c4853c7deeac9e456d048b3e) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit dd23c6d83f08f7fe910419bce2f30f2aec77b39d) (cherry picked from commit 76bbb738156a0ae868fbe9608f222b0c2688a46d)
| | * jsruntime: silence msvc warning 4201 (nameless struct/union)Tim Blechmann2024-02-082-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qml's private headers are pulled into binaries when using the qml compiler. we should keep the warnings out of downstream code Change-Id: I330b5f76d7846b5f2e5f2a4c1ece95b58c67a876 Reviewed-by: Ulf Hermann <[email protected]> (cherry picked from commit 986d5395bd8542c181298faf4916ac5d6f9c6ce1) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 5534e6271010c49619a3f7f83a1f297ba153f167) (cherry picked from commit 5ea5e8bfd5147895cf8e998505ba3bf1146580d3)
| | * QtQml: Re-allow assigning of raw numbers to enum property aliasesUlf Hermann2024-02-054-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This used to work and we cannot just take it away. Amends commit 3ea55bf398412d373daab9c92b1498f45de70e96. Pick-to: 6.2 Fixes: QTBUG-121710 Change-Id: I7f856140286bba9d49b7ed1abfdf398a65fb1962 Reviewed-by: Fabian Kosmale <[email protected]> (cherry picked from commit f3bcbfd6a50fb7e74f4ff6714d3b3066fa74e253) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit ec692b22e7b45bef016280a15c8205969e808e12) (cherry picked from commit 3a8028b393f6b5345f5653d81f49efa31021fae1)
| | * QmlCompiler: Prohibit non-resettable undefined assignmentUlf Hermann2024-02-051-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you assign undefined to a property that cannot hold undefined an exception should be generated. We cannot handle this, yet. Therefore we prohibit such assignments. Pick-to: 6.2 Change-Id: I0a034032f4522f017b452690d93319eb4bfedb1c Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]> (cherry picked from commit afbf7b699061a38b27c91d3c95890dcc1f92ebe9) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit ed50111eebec23d81e159026c8896c5d681c1e1e) (cherry picked from commit 1b0a03639c5bdaddd82b378ce77a21a28e82cbc7)
| | * QmlCompiler: Prohibit resetting of propertiesUlf Hermann2024-02-051-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We cannot assign potential undefined values to resettable properties, yet. Pick-to: 6.2 Fixes: QTBUG-120512 Change-Id: I9bca4940256c82bdcf5540b956600eb420be363e Reviewed-by: Fabian Kosmale <[email protected]> (cherry picked from commit da6680cb2eeea4c845cffac0a0f9d24e30b1625c) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 104c90e883b9a4b0f786f86ec9961654411e42f7) (cherry picked from commit 49a62c4102533caec989d42208a7e4c99b915e19)
| | * QtQml: Clear context objects more thoroughly on destructionUlf Hermann2024-02-033-18/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The same object can be the context object of a hierarchy of contexts. So far we would only clear one of them, leaving dangling pointers in the others. Clear all the contexts. Pick-to: 6.2 5.15 Fixes: QTBUG-119326 Change-Id: I509f257672813866e3736b51f430f1243a8577f0 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]> (cherry picked from commit 27ba69af2f64a8b194655c9fbb276ce981075f75) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 833f4f6913835a18c37b02bd4784d62cbb4d0701) (cherry picked from commit 477c3c3c25d478caa5b833a9c64f3945b3d3a83e)
| | * Fix polish issue in quick text editSanthosh Kumar2024-02-021-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The text edit didn't polish even after there is change in position offset, leading to alignment issues. During geometry change, the QQuickTextEdit calculates implicit size and base position offset, and then further requests a polish immediately afterwards. This sequence of update happens only if we have valid width or height set for text edit control. But in case we set width or height to undefined, there is a chance that this update would be missed. This patch removes the checking of widthValid() in QQuickTextEdit::geometryChange(), to allow those updates. The validation of width or height is already handled internally within updateSize(), so it shouldn't create an issue; and we still try to avoid emitting cursorRectangleChanged() too often. Amends 1770fa632facf2f1e4bb05e7689efc939d46cfef Task-number: QTBUG-117667 Task-number: QTBUG-25489 Change-Id: Ia20cd06e78842f5edb0c395d6322a660f86f6b5e Reviewed-by: Shawn Rutledge <[email protected]> (cherry picked from commit d84c1304112d2198a12e647fd44f57ee0e8dc437) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 3bff953242758365d81e278a6ee0f95f2deb6f1d) Reviewed-by: Qt CI Bot <[email protected]> (cherry picked from commit 4cf08f0757ad3e651bb090c6e449ca00b242cb93)
| | * QQmlProperty: fix signal handler warningFabian Kosmale2024-02-011-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It should only be emitted if we find a signal of that name. Fixes: QTBUG-118710 Change-Id: I15cf92c03dd7b46805e5a69078ca2beb6c862293 Reviewed-by: Fabian Kosmale <[email protected]> (cherry picked from commit 9d10b7956662d56e02053b3cbe41fd7ca05dced3) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 6c0489e65f4edbfce7448b3ca8e943c84b9456f4) (cherry picked from commit e5d8daf8212cabfd081ef8300013441f42f69533)
| | * QtQuick: Do not crash on broken statesUlf Hermann2024-02-011-15/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | States can be nullptr these days. Ideally we'd warn about this, but for picking back to 6.5 it's enough to restore the pre-6.5.3 behavior and not crash. Amends commit f905876d6c3abda34dfd85cd40e300a31c1ebe52. Fixes: QTBUG-120301 Change-Id: I87021eb2dcbe7fc49f37c5d949d79466ae341a1c Reviewed-by: Shawn Rutledge <[email protected]> Reviewed-by: Volker Hilsheimer <[email protected]> (cherry picked from commit 7ce3ce41b8cc657d31ee28de73d2962a149cd776) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 42a1ab50c56975fd0e8243247340099dc37799a0) (cherry picked from commit 787e794af898ce27ba6ad6ff28ef390f4643690c)
| | * qmllint: Complain about "target" when complaining about PropertyChangesUlf Hermann2024-02-011-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | You should remove the binding on the target property, too, after rephrasing the binding. Fixes: QTBUG-113695 Change-Id: I917f506c932605ae5851ae09f4383af59a3cae1e Reviewed-by: Fabian Kosmale <[email protected]> (cherry picked from commit 7bc52d660c692bf727c1741e1b9981e5b337f45f) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 3dff3ce1bd38fff8103d565590120d5f746c180a) (cherry picked from commit c753d52d8ed56f3d49b0333a99dd47d57fdad8a1)
| | * setInternalClass: Correctly handle deleted propertiesFabian Kosmale2024-02-011-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an IC was rebuilt, we must not set members that were deleted, otherwise we'll trigger an assertion. Since the nameMap has to match the data we still allocate memory for such members and fill it with undefined. This could be avoided with some deeper refactoring, but a simple solution is to be preferred because this needs to be picked back all the way to 6.2. Pick-to: 6.2 Fixes: QTBUG-111729 Change-Id: I730d6b4634d989191434225600a08cf0208e72f8 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Qt CI Bot <[email protected]> (cherry picked from commit 642d531e42fb233709155f8c8feb7d429c48db38) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 308f785c7842267a8744381148bd82b21c536033) (cherry picked from commit f17168ef874f05b4ea57088cadcc2d5a8fd2c5a0)
| | * Workaround for crash on derefWindow on application shutdownRobert Griebl2024-01-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ideally there shouldn't be nullptrs in the list. This fix will however prevent crashes, until we find out why. Fixes: QTBUG-116426 Change-Id: I2c85ad73832ab4d8b9992b4d8e661758fae85ac7 Reviewed-by: Volker Hilsheimer <[email protected]> (cherry picked from commit 5d79b207c7a47ac96a32c9aff3527e052364b209) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit fe0b983fc5261d5ef90ae56f35623e37513bfc50) (cherry picked from commit e6811c930e2a3a4ea4e0f04f3191d0fad7ed3b73)
| | * masm: Don't crash on failed MADV_DONTNEED on LinuxAntonio Napolitano2024-01-311-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The application could call mlockall(MCL_CURRENT|MCL_FUTURE) to lock all its memory for performance reasons, causing the madvise call to fail. There's no need to crash. Instead, manually zero-out the memory when decommitting. Fixes: QTBUG-120450 Pick-to: 6.2 5.15 Change-Id: I6f1a8968853cc5e61561371bd2a435a686eaf0e4 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Ulf Hermann <[email protected]> (cherry picked from commit 524d260c5c135d193e06350e48357444ddb13ddb) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 1ead022dfea5a6b3bed8ca80de85c20cea6c809f) (cherry picked from commit a2e0061317954fdab6f9af1ab0490944bca33873)
| | * DA: align delivery of mouse, touch, and synthesized mouse events to ↵Richard Moe Gustavsen2024-01-252-12/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | childMouseEventFilter Currently the delivery of pointer events to childMouseEventFilters differs depending on if the event is a mouse, touch, or synthesized mouse event. If case of a mouse event, it will be sent to all the filters up the parent chain, even if one of the filters along the way returns true. If it's a touch event, propagation will stop as soon as a filter returns true. What does it mean that childMouseEventFilter returns true? According to tst_QQuickWindow::testChildMouseEventFilter(), if a childMouseEventFilter returns true, the event should be stopped from being sent to the receiver, and only the receiver. It should not be stopped from propagating to other childMouseEventFilters up the parent chain. This is explicitly tested with data row "r1 rejects and filters". Therefore, in order to make testChildMouseEventFilter() pass, not only for mouse events, but also for touch and synthesized mouse events, this patch will make the following changes: 1) Remove the early 'return' statement after a touch event was filtered by a childMouseEventFilter. This will make sure that the touch event will continue to propagate to parent childMouseEventFilters, equal to how it works for mouse and synthesized mouse events. 2) For both touch-, and synthesized mouse events, we deliver a (localized) copy of the original touch event to childMouseEventFilter(). The filter can then choose to accept or ignore this copy. But as it stood, we would never sync back the accept state from the copy to the original event. The result was that the original event would continue to propagate, regardless of accepted state set by the filter. This patch will therefore sync the accepted state from the copy back to the original event, when the event is filtered. This will make sure that if a filter e.g ignores the event, the receiver will not receive the event (since it was filtered), and the event will propagate to the parent (since it was ignored). Which is equal to how it works for mouse events. 3) For both touch and synthesized mouse events, we used to always set an exclusive grab on the affected event points if a childMouseEventFilter filtered an event. This is different from mouse event delivery, where we only set a grab when the event is also accepted. And the latter is also (most likely) the correct thing to do; If the event is ignored, it means that the filter says (on behalf of the receiver) that it doesn't want the event. And it doesn't make sense then (AFAICS) to still grab the event points. This patch will therefore, equal to mouse event delivery, ensure that we only give a filter an exclusive grab on the touch points when the event was actually accepted. With these changes applied, we then also change the tst_qquickwindow::testChildMouseEventFilter() to run three times, once for mouse event, touch events, and synthesized mouse events, to verify that they're all aligned. Fixes: QTBUG-115953 Change-Id: I8b5b1faadc907e804b7e21c667888db7cfe28872 Reviewed-by: Shawn Rutledge <[email protected]> (cherry picked from commit 571c407ea67d120c6735f728c59a464cce43ec8d) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit a435f30017218a58d2878aacee16b2ca3688590c) (cherry picked from commit 8e45afd0fae702f9c143907bc4141157359e4dd5)
| | * Doc: Revise Qt Quick Text reference pageAndreas Eliasson2024-01-241-20/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix typos. * Show rich text Markdown example. * Be consistent with relative clauses (that vs which). * Where it makes sense, use active voice instead of passive voice. Fixes: QTBUG-119485 Pick-to: 6.2 5.15 Change-Id: I7843a3276f277172e25f5891f08e2a830d713c4e Reviewed-by: Shawn Rutledge <[email protected]> (cherry picked from commit ec3b799824ef03cd332297024db57acce60e76ed) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit ce366ee66e33647cc7a48fb2f251cab112bb88cc) (cherry picked from commit 1e58c059977ee5e07aa2df8df434d0fe24a1623d)
| | * FileDialog: set url schema when using the file name text fieldOliver Eftevaag2024-01-231-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using the text field to choose a file name inside the non-native file dialog, the selectedFile property would be updated based on the currentFolder property and what the newly typed filename was. However, the schema was ignored. This patch fixes the issue by also setting the schema in QQuickFileDialogImpl::setFileName(const QString &fileName). Fixes: QTBUG-120065 Change-Id: I1860fbbc8209270d0bc6e34a4be6a91bad2253ab Reviewed-by: Santhosh Kumar <[email protected]> (cherry picked from commit 26d9634468332fd3d6c4cc341aad67673d6b2cce) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit f839b0ae73fdde85b7e453c2dd0210fd529907ca) (cherry picked from commit 53c60c2f94dfadc8cb89728de3b08ccf49b35afc)
| | * Doc: add note about placeholder text to Material style documentationMitch Curtis2024-01-232-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also update an old link. Task-number: QTBUG-117654 Change-Id: Ib0c49052e15c7eca5dd6197ddbc081fb483a74d1 Reviewed-by: Shawn Rutledge <[email protected]> (cherry picked from commit 8f876c620c0cbba1e005bceefd76cb6459a1c58a) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 51c6cac7e4278f8651bd00e183deaa96aab2aa26) (cherry picked from commit 6986f1c26ef622c0faa5e787859c7adb52e5b176)
| | * Doc: explain how Dialog's padding worksMitch Curtis2024-01-231-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-120356 Change-Id: I10fa6ad71152a215d64eae1156827cbdf29b930d Reviewed-by: Richard Moe Gustavsen <[email protected]> (cherry picked from commit cccd21fc3ca9d7e5a81e11965844e6c9d07dc5a3) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 70d617909a6f1391d18b46835ecb14509a84090b) (cherry picked from commit 7471e3b1a09e0e2b61b52ca1d09fe6e3336d646a)
| | * Doc: Fix link to Material Design card componentAndreas Eliasson2024-01-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-119903 Change-Id: Ice648ec4556b26160c4959dfc0af133afc864d9e Reviewed-by: Topi Reiniö <[email protected]> (cherry picked from commit 4513eb4ec956a0363f1537359d7157456ac311bd) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 9580dd18546466579153a0c8608ec1c1be8daefd) (cherry picked from commit f852292428e84c3acc2c37f12727a62dc359e703)
| | * Doc: Describe correct case for stylesAndreas Eliasson2024-01-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current text says to use lowercase for styles, such as Material, when, in fact, it is capitalized. Fixes: QTBUG-119994 Change-Id: I2d473f8be525326318f325b05b75e01f8772d7ec Reviewed-by: Mitch Curtis <[email protected]> (cherry picked from commit a00082f0391f212acfa79e2ac712d0ff86a5fe5c) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit ee0e6d9c26cd846f0aefafcd581f896f01ff91ee) (cherry picked from commit 7dcc9a34af1c0215f5606155f5d9961d0d30794b)
| | * Doc: Add CMake section about how to include .qrc files in a projectAndreas Eliasson2024-01-231-5/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current docs only describes how to do this in qmake. Let's use a tab and add a CMake section. Fixes: QTBUG-120568 Change-Id: I766e92818c3e20aad5498443aa107aa369089ad0 Reviewed-by: Mitch Curtis <[email protected]> Reviewed-by: Paul Wicking <[email protected]> (cherry picked from commit 37c2d3cda39fd9d013f594705eed9b57c865c075) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 16ebb44a5f9258a6349370f05688a6fb4ff6fb6d) (cherry picked from commit dcee08b4d4912da4d0307dffd8b72c8e84cf00a5)
| | * QQuickWidget: accept touchpoint even if it has a passive grabShawn Rutledge2024-01-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the test case from QTBUG-113558, a QQuickWidget's only event-handling object is a TapHandler with its default gesturePolicy, so that on touch press, it gets pressed; but it was missing the touch release and getting stuck in pressed state. As explained in dc8f44b14501ecd4acc196f5138aeff3f7502d0a, widgets don't care about (exclusive or passive) grabbers, and rely on points being accepted to make the widget that received the TouchBegin an implicit grabber. If the only thing that happened in the Qt Quick scene in the QQuickWidget is that the touchpoint got a passive grab, it's still a kind of interaction, and we want to ensure that the TapHandler will see the release too, to avoid getting stuck. (This means that passive grabs are not passive from the perspective of widget event delivery: the TapHandler ends up excluding delivery of the touchpoint to other widgets, even though it didn't mean to. But hopefully nobody expects cooperation with touch-handling widgets underneath the Quick scene.) Fixes: QTBUG-113558 Change-Id: Ided6247b43a2405dbfdf9d195bb45ceae4cf58fd Reviewed-by: Volker Hilsheimer <[email protected]> (cherry picked from commit 59b0b59090e2ff3f04bd15120720ee6a5b0c3f4b) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 9f85654f7d4613ad184ffba950e53a82e61e9cc9) Reviewed-by: Qt CI Bot <[email protected]> (cherry picked from commit 0c5a04ee788dc480a1ebb930761dd2ba0e082f05)
| | * QmlCompiler: Use a hash set for the list of conversionsUlf Hermann2024-01-222-20/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There can be a lot of them and we don't want quadratic behavior. It might be possible to further improve on this using e.g. sorted lists and algorithms provided by the STL. However, such an implementation would be more complicated and would require weighing several trade-offs. Fixes: QTBUG-121139 Change-Id: I717b49bd4af97abcaae9ae78d1e1b31d5d462952 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Marc Mutz <[email protected]> (cherry picked from commit af212e5e4edb73978298cd030b15deb8d8c28183) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 2108e416eabc68c0136faa5041d80866ce1da716) (cherry picked from commit 2c460deadc08da2a43da7fc2b96452477c74fafd)
| | * CMake: Fix NO_LINT option to work properlyAlexandru Croitor2024-01-191-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even if NO_LINT was passed to qt_add_qml_module, qt_target_qml_sources would read the property set by qt_add_qml_module too late, and would still create a lint target. Make sure we read the property earlier. Fixes: QTBUG-121206 Change-Id: I409b37cab6dc0583458142ff00447d4191b4ff61 Reviewed-by: Alexandru Croitor <[email protected]> (cherry picked from commit 3fb693d7dad9070d7c574fc320b35e5ca6a5d2c7) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 48a5ebd140b17b1ac9ef8a579ba49566db6bb88c) (cherry picked from commit 8b0409d8002b6fea540eb4974a880ecf68acd18a)
| | * Doc: Replace Qt 5 QtGraphicalEffects code snippet with Qt 6 MultiEffectAndreas Eliasson2024-01-191-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt Graphical Effects was deprecated in Qt 6 and replaced with the MultiEffect type. Fix code snippets in Qt 6 documentation to use the MultiEffect QML type instead of the deprecated Qt Graphical Effects type. Fixes: QTBUG-119992 Change-Id: I27c11ed013880978656f86b6322bf3e4bfa18812 Reviewed-by: Mitch Curtis <[email protected]> (cherry picked from commit a95df6a234e4f6e08975eed71b823d41b98542f6) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 134261baf97e4bcdd69dcff27a63551876aeb52c) (cherry picked from commit 22b81f1bb8f87092159e9f99f481428447913063)
| | * Correct merge reorder issue with the revert patchSanthosh Kumar2024-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a follow-up patch to revert the complete change made in patch 9ad9d05f26184a79ad3fe09abdc662949088d19d and d85de8da6011731e3ff31ae1361e71fecaedb0be. There are separate patches made to revert these changes but the order in which these revert patches merged (in 6.7 branch) was incorrect. This further triggers issue in other branches. This patch fixes the issue happened due to merge reordering. Its to be noted that patch d85de8da6011731e3ff31ae1361e71fecaedb0be not been merged to 6.6 and 6.5 branches but still this patch is required to revert the complete change in those branches. Change-Id: I875b13741bccc36c4a4892e5d71b6c7aa7e3b031 Reviewed-by: Jan Arve Sæther <[email protected]> (cherry picked from commit 2b925eb9b925665afb83cb11addbc9cb7319ae41) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit cddf2b0b4cae7ea455f944f55c5ee248fcf1500e)
| | * Put the QML plugins to the non-config directoryAlexey Edelev2024-01-181-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The generated qmldir files that are used by QML engine specify the relative path to the QML plugins that are build within modules. So it's usually expected that plugins are located on the same level as the qmldir files. In Multi-Config builds all libraries are located in the build-specific directories by default. In this case QML engine is unable to locate the plugin and the application cannot be run without extra manual steps. This fixes this issue, by using the top-level plugin OUTPUT_DIRECTORY for the "default"(first) config as RUNTIME/LIBRARY_OUTPUT_DIRECTORY. In Windows platforms we need to make the same for non-static backing libraries, since we cannot rely on RPATH there. Task-number: QTBUG-99061 Pick-to: 6.2 Change-Id: I51a8864743b87fd6ec4ba7179e13f311c5bee403 Reviewed-by: Joerg Bornemann <[email protected]> (cherry picked from commit 2dbae968e7a15aca2ff5c8795e2a6dcb2e0a5744) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 91a25a8e3c576e666ad719da302eb30e256ef5ee) (cherry picked from commit dc1a16345214db9665d305934c39ebd7eca2a62d)
| | * Doc: explain how to ensure the TestCase's window is activeMitch Curtis2024-01-171-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I0d2e8a8ffdabba9cd6f0aee7dad8e79728c0261b Reviewed-by: Oliver Eftevaag <[email protected]> (cherry picked from commit c9b32cf8e82a09884501991eac25f3a5835f118f) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 15ca6b69b72b1ada29ef2076fbb534677e23a5be) (cherry picked from commit 4f3a722e3fb173a0fd3f42710564763274bd9bc5)
| | * Fix documentation for QML_ATTACHED and QML_FOREIGNUlf Hermann2024-01-161-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They can in fact not be combined. Pick-to: 6.2 Change-Id: Ic01edf9328d7235511f305ed15114360b79d0a36 Reviewed-by: Fabian Kosmale <[email protected]> (cherry picked from commit 5a8663664ea49722a6f561bd2fad8fb30b4e7860) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 8bd24a76b6e685bc1b0be351686365e84b1747cb) (cherry picked from commit f48bc1291f26bfedd5d43dd5cbc40e7ade066eb2)
| | * QQuickWidget: Clean up if RHI goes away under our feetTor Arne Vestbø2024-01-161-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QQuickWidget doesn't normally own the RHI; the QWidgetRepaintManager does, via QBackingStoreRhiSupport. If the top level widget is destroyed, so is its QBackingStore, and the corresponding RHI. But the QQuickWidget may outlive its top level parent, in which case it needs to update its cached reference to the RHI, and do proper cleanup before it goes away. QRhiWidget already does the same thing, for the same use-case. This was observed when recreating the top level QWidget via destroy/create as part of the RHI widget compositor logic. Fixes: QTBUG-119760 Change-Id: Ic44449abcfe4271660a3ac4e132d0c4a71a21b65 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Volker Hilsheimer <[email protected]> (cherry picked from commit 0d342e83123b27befde95fc35760a358dbff0b16) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit df2314d7082e2da8dc33ab2ab6417e5f618b0515) Reviewed-by: Assam Boudjelthia <[email protected]> (cherry picked from commit e34b15f0b7c1d686376af878ee58560cea0c517e)
| | * Clarify QQuickItem::map{To,From}Item when passed a nullptrTor Arne Vestbø2024-01-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Passing nullptr when mapping to/from an item results in mapping relative to the scene's coordinate system, and this is also what the "Scene Coordinates" section of "Concepts - Visual Coordinates in Qt Quick" documents. Avoid the ambiguous term "root QML view", which may be mistaken for the top level window in a child-window scenario. Change-Id: Ibd386ec8248f5e398b04248d15c7cf48bd46c090 Reviewed-by: Richard Moe Gustavsen <[email protected]> (cherry picked from commit 2ea08a9918343002a5ddf20f3c48c577fb27544c) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit b0cc7939b88d855f803d48a4c41c5bf5e51d3e8b) (cherry picked from commit 8ed9f545b9339872f93b8adf5e6bd1820b561fa3)
| | * Revert "Fix binding loop and polish issue in quick layout"Jani Heikkinen2024-01-131-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9ad9d05f26184a79ad3fe09abdc662949088d19d. Reason for revert: QTBUG-120592 Change-Id: I6cba9e88832ac0d78280fd9d6f96b319748545be Reviewed-by: Santhosh Kumar <[email protected]> (cherry picked from commit cd5471fcd6f3d4c22fed0fdfac5abca5e51c1064) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 1b6285429f5d42daf6ef6da7809803c5acaf2670) (cherry picked from commit ab41e88e8e91e232f378079d6f343764bc6f7822)
| | * Extend the Q_IMPORT_QML_PLUGIN documentationAlexey Edelev2024-01-121-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the explanation what is PluginName and how it's computed when using the modern QML API. Fixes: QTBUG-119372 Pick-to: 6.2 Change-Id: I7346f7b7f82c717ee79b07f4dcec0c0d1dc733b2 Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Leena Miettinen <[email protected]> (cherry picked from commit 48241a49d96f27cfb64218a91a3aa7a8d1174a91) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit db9171d0c3011613131965e5576a4efe261f08c2) (cherry picked from commit ab160d2cb4c10f2f28fed26ce80d1b79f5453437)