aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update dependencies on '6.2.4' in qt/qtdeclarativev6.2.46.2.4Qt Submodule Update Bot2022-03-041-4/+4
| | | | | Change-Id: I65c2023bc30b4cacac47e44a039e9db91c98f918 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.2.4' in qt/qtdeclarativeQt Submodule Update Bot2022-03-011-4/+4
| | | | | Change-Id: I7ac9a107ba29dcc8d88df5c1749fdb5baab1234c Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.2.4' in qt/qtdeclarativeQt Submodule Update Bot2022-02-211-4/+4
| | | | | Change-Id: I9d2dd3062d62defb4739ff8610fed76bf27ef08d Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Doc: Turn notes into section in QQuickWidget overviewKai Köhne2022-02-192-7/+13
| | | | | | | | | | | The extensive use of notes in overview documentation should be avoided. All the notes are concerned with performance considerations, so let's group them together in one section. Change-Id: I4854e078e35190726091b2ef6b7a674abda8b3b7 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> (cherry picked from commit 64f09b80146340d7eac87b51e1c292e69730b21f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QQuickIcon: Resolve source URL relative to outermost property ownerYuya Nishihara2022-02-188-24/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original attempt, deb238586a "QQuickIcon: Resolve URL relative to current element," works fine for IconLabel itself, but not for Buttons containing IconLabel. // <style>/Button.qml T.Button { id: control icon: // owner: control contentItem: IconLabel { icon: control.icon // owner: this, but should be control } } // user code Button { icon.source: "a.png" } Since IconLabel is an implementation detail of the Button, IconLabel.icon owner needs to point to the Button so the user-specified icon.source can be resolved relative to the user code, not to the <style>/ directory. This patch fixes the problem by explicitly resolving the source URL on setIcon() and propagating the resolved icon object to the inner items. If the relative URL has already been resolved by e.g. Button, the inner IconLabel never resolves the URL again to itself. The problem could be addressed by initializing icon owner only once by Action/Button constructor, but that would lead to dangling owner pointer as icon object could be copied anywhere. So I've added resolvedSource data member in place of the owner pointer. Button { id: dangling } Button { id: victim; icon: dangling.icon } // owner: dangling Component.onCompleted: dangling.destroy() // ... would SEGV (or use after free) if victim.icon.source modified. Fixes: QTBUG-95587 Change-Id: Ibdd07118e79f1e1f36e1faea0289150eca734e27 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit dfc16e40ab43e8062b93c566e4316efe4d4f10a0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Un-blacklist tst_QQuickFramebufferObject: skip offscreen/software renderingShawn Rutledge2022-02-182-8/+9
| | | | | | | | Task-number: QTBUG-65614 Change-Id: I31e2a61e3b2df2432042c8b6028df63cc9cb8d22 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> (cherry picked from commit 8fb4fb6d014ba4bbaa7f7d22998cfda4ea5e9855) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.2' in qt/qtdeclarativeQt Submodule Update Bot2022-02-171-4/+4
| | | | | Change-Id: Ic10e415810b9a88b31d8f3028f4e4f4b21c8c460 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Disable qmljs on iOS buildJuha Vuolle2022-02-171-1/+1
| | | | | | | | | | | | When compiling for iOS the linking of qmljs tool fails with: Undefined symbols for architecture arm64 "_qt_main_wrapper" Fixes: QTBUG-100855 Change-Id: I25a3ca9fd9d5efd2d6906087f1580b2679e6745f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit f3536a202ea124c91dc1ab53bd5c40cdb9b693e7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Un-blacklist some passing testsShawn Rutledge2022-02-176-14/+0
| | | | | | | | | | | | | | | | Task-number: QTBUG-75786 Task-number: QTBUG-82015 Task-number: QTBUG-82043 Task-number: QTBUG-82404 Task-number: QTBUG-85622 Task-number: QTBUG-85624 Task-number: QTBUG-88541 Task-number: QTBUG-95863 Change-Id: I361afa8b78e2947b12194b6b1212e59db1b20b11 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit b0848d038b7bacfd656fbadc37993a81068132bb) Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* V4 Date: Support another nonstandard date format QDateTime has droppedUlf Hermann2022-02-163-0/+15
| | | | | | | | | | | | Amends commit 43eaa77e8ed03153335c0002dcc8b660c39a0beb. Fixes: QTBUG-100377 Change-Id: I01028bd991b8a64bd9dcad31ce90536d83dad0a1 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> (cherry picked from commit 41a5c7b223d958bd40240aee81bb8fb96540735d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Document that all required types must be implemented by custom stylesMitch Curtis2022-02-151-0/+8
| | | | | | | | | | | | For example, it's not possible to customize only ScrollBar and have ScrollView pick those changes up automatically; you must also implement ScrollBar. Task-number: QTBUG-99367 Change-Id: Ie487b0b947fa936e56b5d8e473fbb66287b51c68 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit ce271b1bdf255059f5cc2efe62042508498d1ffa) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: Document source file propertiesAlexandru Croitor2022-02-151-0/+187
| | | | | | | | | Task-number: QTBUG-100224 Change-Id: I548e0317f148cdedafd553a3591526c40b9b3a32 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit d280b41a096c470bcdc573fb8268aa128e0b7c3b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix tst_quicktestmainwithsetup on AndroidAssam Boudjelthia2022-02-151-0/+5
| | | | | | | | | | | Include imports into the test resources because they might be needed by the test as well. Task-number: QTBUG-97056 Change-Id: If2e0425bdc11024fb2f49c7fe4d6d62f6422f401 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit d736e9a601e6fa03d164e741998627680aa8bf44) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix QML warning in tst_QQuickListViewMitch Curtis2022-02-151-1/+1
| | | | | | | | | | The warning was about the delegate's parent being null in QTBUG_48044_currentItemNotVisibleAfterTransition. Change-Id: I54198b26adea137d539f71c8aebc1ba3a18d1e97 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit e523f00974eeccec4525edf85c732659a9c16119) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Use QSGRendererInterface::OpenGL in documentation and examplesKai Köhne2022-02-1513-14/+14
| | | | | | | | | | | | QSGRendererInterface::OpenGLRhi is only an (undocumented) alias to ...::OpenGL, so let's use that instead. Amends 0b2311a62b25c Change-Id: I4acdd39dc1d9b75bed5c474667a43b4ad86e7f47 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit e2138561df3562c19000af24d43659090c19167a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QQuickTableView: don't position the table contents outside the viewportRichard Moe Gustavsen2022-02-153-55/+219
| | | | | | | | | | | | | | | | | | | | If you call positionViewAtCell(row, Qt.AlignTop) for the last row in the table, the row will be aligned to the top of the view, as requested. But this looks really wrong , since it will cause the table to be flicked to a position that causes it to overshoot by a distance close to the height of the whole view, effectively leaving a big empty gap at the bottom. This looks really buggy. This patch will correct this behavior by ensuring that we never flick the table to an "invalid" position while positioning table at a cell using the requested alignment. Instead we clamp the table to the edges of the viewport. Fixes: QTBUG-100680 Change-Id: Id3003df784a0128df28ee2e78e2456e1fa1e11e8 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit c3d909ec286962c507e346a8d490b905cdd266f8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QQmlStrongJSQObjectReference: rename setObject() argument o → objMarc Mutz2022-02-151-5/+5
| | | | | | | | | It shadowed a member of *this (QQmlGuardImpl::o). Change-Id: Ibb4175c27c240102efa86d34b5a822ea70a3a4c3 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 88b2a368dcb3e84c762143307d2af90a5314b419) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Add documentation for ComboBox::valueAt()Kai Köhne2022-02-151-1/+10
| | | | | | | | Fixes: QTBUG-100380 Change-Id: I03d99ef05577bfce7c6a39ed5bfdecac33ce7911 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 3bb7cf64994c3b43243b6d000d051f99fdaae03e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: State Qt versions for when CMake commands etc. were introducedJoerg Bornemann2022-02-153-0/+6
| | | | | | | | Task-number: QTBUG-100212 Change-Id: Iaba78e26d9dcaf85e6089639ef95385ad36891f5 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 0a28ee11e398ac8947cf6e5699bddc65769e91de) Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* CMake: Skip qml compile hash recreation in developer buildsAlexandru Croitor2022-02-141-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation favors recreation of the hash whenever the git tree hash is changed and a cmake reconfiguration is forcibly done by the developer. This causes a rebuild of the Qml library. This dependency tracking is too coarse and not very helpful. A developer that doesn't touch the Qml library sources will be confused why a commit rebuilds the library. A developer that does touch the Qml library will be confused why the qml hash hasn't changed after running ninja, and even more confused when it is changed after a commit and reconfigure. To improve the situation a bit, the build system will now not recreate the hash when doing a developer build and the developer will be expected to remove the already existing hash file when necessary. This will not cause issues in our CI developer build configurations where cache files are not removed. Even though the cache files are not removed, the qtdeclarative build directory will be clean, which means the qml hash file will not be present and will be created with up-to-date content, thus invalidating all cache files. Change-Id: I809b2cffbc5bb2b09af4fb712c7e46a743bfd333 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 09aecb0d7762010249ef8f78ef92367b73a4a1e8)
* Restore comment describing how the compile hash worksUlf Hermann2022-02-141-1/+5
| | | | | | | | | | | This is really useful information and had to be painstakingly re-discovered. Task-number: QTBUG-99608 Change-Id: I21f7fc56745c9fb979f61710bebd8ad83e702cc4 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 0aa6cafe81eb5cc80461e396751da81bb1db95b3) Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Avoid spurious dependency on qml_compile_hash_p.hFabian Kosmale2022-02-132-2/+2
| | | | | | | | | | | | | The compile hash changes on every commit, so including it in a central header like qv4compileddata_p.h would cause many spurious rebuilds. As we only needed it there for a static assert, we can simply move that check into a source file. Change-Id: I9f24cb3faf5172023b0ece9e6aa07db02638c8be Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 28b32ae449913d079f220110ffa90de9a9ee9784) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix tst_designer and tst_qquickfontdialogimpl tests on AndroidAssam Boudjelthia2022-02-132-0/+8
| | | | | | | | | | | | | These QML files are needed for androiddeployqt to be able to package the QML modules because they're not imported in a normal fashion under a QML file but rather implicitly inside the test cases. Task-number: QTBUG-97056 Change-Id: I792462e88a2d8ca43747cffc050fe60987f90ecd Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 98fe8834faaaed65c6c162d0cd2af5609caf14f3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: Fix issue with Xcode common dep between qmllint and toolingAlexandru Croitor2022-02-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes when using the Xcode generator and there 2 or more Qml modules added in different subdirectories, you get an error like CMake Error in Bar/CMakeLists.txt: The custom command generating build_dir/Bar/B.qml is attached to multiple targets: Bar_qmllint Bar_tooling but none of these is a common dependency of the other(s). This is not allowed by the Xcode "new build system". The main reason for the error is that we accidentally make the _qmllint target depend on the qml files that are supposed to be copied by the _tooling target to the build dir, instead of making qmllint depend on the source files. The qmllint target queries the QT_QML_LINT_FILES property with a generator expression, but the values are relative qml file paths. Within the context of add_custom_command they evaluate to the build dir qml files that are copied by the _tooling target. To avoid the issue, ensure that QT_QML_LINT_FILES contains absolute paths to the qml files. This way it will not depend the output of the _tooling target and avoid the Xcode issue. It is not clear why the issue does not trigger when there is only one qml module in the project. But the fix applies nevertheless. Resembles 1bd0a5ce02352a600367beb5a5421c8f8332e1fe Task-number: QTBUG-95763 Fixes: QTBUG-100307 Change-Id: Ie3af503635de3ca61ce5975dcd0983d4e19f259f Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io> (cherry picked from commit ea7024ef7bcae60c26d0470abb2ffeb56cac1875) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: Clarify doc comment about Xcode common dependency issueAlexandru Croitor2022-02-121-2/+4
| | | | | | | | | | | | | The comment made it sound like ${target} depends on ${target}_qmltyperegistration, but it's the other way around. Amends 1bd0a5ce02352a600367beb5a5421c8f8332e1fe Task-number: QTBUG-95763 Change-Id: I15e89395bee9d9ce88fa4d31901dafc4b956e99b Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> (cherry picked from commit f608b4143e09875bf0bc04a820ca013b959905b9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Correctly handle QQuickState::whenFabian Kosmale2022-02-103-1/+46
| | | | | | | | | | | | | | | | | | | | | | | | | 64c1fbe96c68b1286a70242ff4922be140128cb2 fixed that one could not assign a constant value to QQuickState::when. However, as alluded to by a comment in QQState's code, this caused state oscillation, breaking clean transitions between two states. The reason for this issue is that as soon as once of the when condition changes, we check the when condition of all states. However, in the case of logically exclusive cases we can run into the issue that the binding of the second state has not been re-evaluated yet. Thus, we might end up with all states being false, even though the second one becomes true immediately afterwards. To avoid this issue, we force the reevaluation of the binding. However, instead of doing this by using a QQmlBinding property (with all the tooling and runtime issues that it would entail), we keep using a normal property. We then ask the engine for the binding, and if it exists, we reevaluate it to obtain the current value. Fixes: QTBUG-86695 Change-Id: Id10a3549935794b93b29450b0f5dfb6d1df691a1 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit a8c729d83979fb0b9939044d246e73b1d578e65b) Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* Update dependencies on '6.2' in qt/qtdeclarativeQt Submodule Update Bot2022-02-101-4/+4
| | | | | Change-Id: I19ba68d6c138d053b488fca97a801993a5f0d20f Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Imagine GroupBox: Ignore background topPadding unless it's a 9PatchImageOliver Eftevaag2022-02-081-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The background property inherited from QQuickControl is a QQuickItem, which doesn't have properties for padding. The Imagine style GroupBox implementation would use duck typing to access potential padding properties for the background item, and if the background item does not have the padding properties being queried, the expression will resolve to have the 'undefined' javascript value. Since 'undefined' is NaN boxed internally to be a nullptr, the setter for the leftPadding, rightPadding and bottomPadding would essentially be called with the value '0' as the argument. But the topPadding property had a more complex binding, using the + operator in its expression. The javascript expression 'undefined' + 'some number' will evaluate to the value 'NaN', which is what the setter for the topPadding property would end up receiving as the argument value. This patch changes the binding expressions for the padding properties to only add the background item's padding, if the background is a NinePatchImage, which is the default type used by the Imagine style. Fixes: QTBUG-94161 Change-Id: I8de6f47350fa8b6253948fb1be63d651a15d1d58 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit ab46156ee6a8fbe6e50353d2f0c73fdc964bae75) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Modify m_compareRegister bitfieldTang Haixiang2022-02-081-1/+1
| | | | | | | | | | | | It's from https://trac.webkit.org/changeset/246151/webkit/trunk/ Source/JavaScriptCore/assembler/ARM64Assembler.h Fixes: QTBUG-100221 Fixes: QTBUG-100279 Change-Id: I7a5ec6d97bf52f8cc7bcfb70f184565fc4b78624 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit aacf799ca7aab57133855ed4c1c639c6e8dffe63) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Make qml resizeToItem configuration url resolution work againShawn Rutledge2022-02-051-1/+1
| | | | | | | | | | Amends 0a1e4cc7ec7548f6273befff9cdddb0bc7a58961 Fixes: QTBUG-100469 Change-Id: I6d0f48fb9b02cc9779233bbb2a93107c93b11ca4 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit bc6c16c346aa94f6c4eb9548d256b5c81cdc2a0e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* SwipeView: don't cull every child item that gets addedShawn Rutledge2022-02-052-1/+63
| | | | | | | | | | | | | | | | | | This reverts commit a055629f43cf8589ff6d69e46b2610429aaa4167. A SwipeView is a ListView, which means as long as the side-by-side delegates are the right size, only one of them should occupy the area of the SwipeView itself. The other delegates (isCurrentItem == false) are to the sides, and might be outside the window, hidden under other items, or clipped. So hopefully there are not users who rely on this culling to hide them. Fixes: QTBUG-99547 Task-number: QTBUG-51078 Task-number: QTBUG-51669 Change-Id: Ic90dc1c44b9a36dc717238b47003b4d88e91f789 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit e10de033f4c44855de7287a97e2aa651f648742e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Stop using QGuiApplicationPrivate::lastCursorPosition.toPoint()Shawn Rutledge2022-02-052-5/+5
| | | | | | | | | | | | | | QGuiApplicationPrivate::lastCursorPosition is initialized with qInf(); so before the mouse cursor has moved, attempting to convert to QPoint is an error. QWindow::mapFromGlobal(const QPointF &) exists in Qt 6 so hopefully there's no reason to convert it anyway. Task-number: QTBUG-45045 Task-number: QTBUG-52472 Change-Id: I6ab651e874ed0af2f18735f8bd8eb374a4781bcb Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 8fe35a003b04d31f09d3e83a03ffa2843266f9b5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QNX: Disable flaky testPasi Petäjäjärvi2022-02-041-0/+2
| | | | | | | | | | | | | Fails with no apparent reason 1: FAIL! : qquicklayouts::Tests_GridLayout::test_spacings(NaN) property itemRect 1: Actual (): [18,0,10,10] 1: Expected (): [15,0,10,10] Change-Id: I796ea18d2d29780ae2433d9b9b4d2be8d09d495a Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> (cherry picked from commit 5ed37bbbf1a32d1e32a82371d8602a54ba591b6d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Detach QEventPoint instances during touch compression; test & docsShawn Rutledge2022-02-044-2/+112
| | | | | | | | | | | | | | | | | | | If we don't detach, they could be modified between the time that the event is stored (delayed) until it's delivered. QQuickDeliveryAgentPrivate::compressTouchEvent() had no explicit test coverage until now; in fact, most tests call QQuickTouchUtils::flush() after every touch event to ensure that it gets delivered immediately. Also add internal docs. Fixes: QTBUG-97185 Fixes: QTBUG-98486 Fixes: QTBUG-98543 Change-Id: I6fd76651ca6fbf15169c44d4d9dbbeb7dc7e3a71 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> (cherry picked from commit d08038ba7015dc681c95654f7fe5e54b60c2e55c)
* Windows: fix unchecked Button in GroupBox being rendered as checkedMitch Curtis2022-02-041-0/+1
| | | | | | | | | | Mark the item as dirty when checkedChanged is emitted. Fixes: QTBUG-95033 Change-Id: I506a5f93c62c9a4d322fbbf7f22e04b2a83d089f Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 1c9e6c025c68bc6d0cb939279e8fb1d1d046f56a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Conan: Inherit recipe class from QtLeafModule for common functionalityIikka Eklund2022-02-041-45/+17
| | | | | | | | | | | | | The qt-conan-common package implements a base class for Qt leaf module recipes. The build steps in leaf modules are mostly identical so it makes sense to put those in the base class. Dependencies are read by the base class from the 'dependencies.yaml' which is the same file the CI system uses. Change-Id: I2b9f9f449eb8a855f7e8109c7268063e006bd3e2 Reviewed-by: Toni Saario <toni.saario@qt.io> (cherry picked from commit 0aaf1d17d03118b96e6773acfe4c79d65aaa9b2c)
* V4: Do not call dtor of an object we continue to useUlf Hermann2022-02-041-3/+2
| | | | | | | | | | | | | | | | | | | After destroyObject(), the QObjectWrapper is still alive. We might use its heap object again. Furthermore, the Heap::QObjectWrapper dtor does not actually do anything defined. What we want to do here is clear the QObject pointer because we've just gotten rid of the QObject. There is a method for that: Heap::QObjectWrapper::destroy(). Finally, the internalClass must never ever be nullptr. Assert on that rather than checking it. Task-number: QTBUG-100431 Change-Id: I794a295c182b2ed4ba80673f58d6143c861b7391 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 6c197319f34b8098d034f1543eb5feb9d7be54c3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Disable failing declarative tests on AndroidAssam Boudjelthia2022-02-0315-3/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows us to enable testing on declarative for the module as a whole and have some sort of test verification for the mean time, and fix the fails over time. Task-number: QTBUG-100003 Task-number: QTBUG-100014 Task-number: QTBUG-100016 Task-number: QTBUG-100018 Task-number: QTBUG-100020 Task-number: QTBUG-100021 Task-number: QTBUG-100164 Task-number: QTBUG-100166 Task-number: QTBUG-100167 Task-number: QTBUG-100169 Task-number: QTBUG-100171 Task-number: QTBUG-100173 Task-number: QTBUG-100175 Task-number: QTBUG-100176 Task-number: QTBUG-100177 Task-number: QTBUG-100191 Task-number: QTBUG-100253 Task-number: QTBUG-100254 Task-number: QTBUG-100256 Task-number: QTBUG-100257 Task-number: QTBUG-100258 Change-Id: I85bf1501b94f04853a1ca715e35df0a56041308a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit f22d884faff5f68230981fc191527c67aeb8a18f)
* QQmlAdaptorModel: Do not use reparenting for lifetime managemmentFabian Kosmale2022-02-035-10/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In QQmlAdaptorModel, we were using QQmlStrongJSQObjectReference to ensure that a passed in model lives long enough. However, QQmlAdaptorModel uses reparenting to keep objects alive. This is not safe, as we can use QML singletons as models. Reparenting singletons messes with the engine's lifetime handling once their new parent gets deleted: The object will be marked as queuedForDeletion by QQmlData::markAsDeleted; consequently wasDeleted returns true for the object, and any ScopedObject or ObjectWrapper will return nullptr when we try to retrieve their underlying QObject. The actual object probaly does not get deleted, as it is not placed in the QML heap. Consequently the gc will ignore it. This leads to a crash when the singleton is accessed in a different place: We see that the object is non-null, create a ScopedObject for it, and then try to later access the ScopedObject's underlying object (assuming that it must be non-null, because we already checked for the actual object being non-null). However, due to the reasons outlined above, we actually receive a null pointer, and thus encounter a crash. To avoid he issue, we change the lifetime management strategy: Instead of using the parent to keep the object alive, we now use a QV4::PersistentValue. Fixes: QTBUG-100260 Change-Id: I266e6ef94c4f079de3da2742d6fb8d61df5a64ce Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 6901eacff40a7d8781e20fb5bcfd28d7526b589b)
* Skip tests that call qmlcachegen when cross-compiledPasi Petäjäjärvi2022-02-032-0/+53
| | | | | | | | | | qmlcachegen is not meant to be available on the target. Fixes: QTBUG-100366 Change-Id: I5cbaa62e85d9a5dd6467840eb4e3ba5e3b63857c Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@qt.io> (cherry picked from commit d245985f0b7aa698be2bd9c196fd7b9299aa5693) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QNX: Decrease number of objects created in tst_QJSEngine::newQObjectRacePasi Petäjäjärvi2022-02-021-1/+5
| | | | | | | | | | | | | | | | This test is so slow on QNX that it times out: QFATAL : tst_QJSEngine::newQObjectRace() Test function timed out QObject: Cannot create children for a parent that is in a different thread. (Parent is QGuiApplication(0x169b0a6b90), parent's thread is QThread(0x37eb7070f0), current thread is QThread(0x37eb734150) FAIL! : tst_QJSEngine::newQObjectRace() Received a fatal error. Task-number: QTBUG-99168 Change-Id: I623bff212b8334af60198e52bc283cc97187c3a7 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 7fcc9c7f5848ac8c8264341dca7a0b5a3f0dec94)
* JavaScript: Make "this" available in blocks inside arrow functionsUlf Hermann2022-02-022-5/+32
| | | | | | | | Fixes: QTBUG-98039 Change-Id: I51ff36994fa0f3f3568c8114cb6841f677f64bc4 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit eeec9f03e9cf57e8cde311897f7e3e62a217da15) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QNX: Blacklist flaky qquickpointhandler testPasi Petäjäjärvi2022-02-011-0/+1
| | | | | | | Change-Id: I94d1f1c2b5afe7a20d1554238a223c3c002c8428 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit c97955b39db4ecfa22ec211b1b6b0e7b4422e13f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: mention ScrollView in ScrollBar's documentationMitch Curtis2022-02-011-1/+2
| | | | | | | | | Fixes: QTBUG-99124 Change-Id: I6152da783668eea121cb294a884f4ed3577cfbef Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> (cherry picked from commit 9052e09a21fd77c44127f9c75dc8aff8ae60184d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix tst_controls missing resourcesAssam Boudjelthia2022-02-018-4/+40
| | | | | | | | | | | | | | bundle all data resources and make sure all imports and bundled. Add dummy.qml files which are needed for androiddeployqt to be able to package the QML modules because they're not imported in a normal fashion under a QML file but rather implicitly inside the test cases. Task-numer: QTBUG-97056 Change-Id: I8be72c06994cc7bd90fb176a19bf69142b225fd1 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit b6413335b0a977e5c7218c4d74fb090fa11bf52e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QNX: Blacklist tests that failsPasi Petäjäjärvi2022-02-015-0/+5
| | | | | | | | | | | | QNX tests are run on CI in qemu using offscreen qpa plugin and software backend similar like b2qt. See QTBUG-95750 Task-number: QTBUG-95750 Change-Id: I4c6e4a513f8289d50922259e474a41173c29224b Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit 8dc54c99fdab33603b68595d9f0e1a6eaccf5dd6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: Include upper case .js and .mjs files in qmldirUlf Hermann2022-02-018-8/+21
| | | | | | | | | | | You can use them as singletons. Fixes: QTBUG-100326 Change-Id: I8e07600657bd43ba8376279ffe39cfa5d3213c38 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit bf38043b6107cb10bca4be78ecc8bbc20338a61b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* ApplicationWindow: add QML_ATTACHED macroFabian Kosmale2022-02-011-0/+1
| | | | | | | | | | ...otherwise qmllint will not find the attached property Fixes: QTBUG-100339 Change-Id: Id72d714494c0a612a3a351937b757d1a6e969166 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 8f6a4026221ea0dd366022c588518af0c220443d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QNX: Blacklist tests because not supported for software renderingPasi Petäjäjärvi2022-02-014-0/+15
| | | | | | | | | | | For QNX tests are run on qemu with offscreen plugin and software rendering. Change-Id: Idda75387bb7b2a4fc9117a442e307a2b741bc5c5 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io> (cherry picked from commit 11dacf93669ac68b212e343b996a076c8b16ef97) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Bump version to 6.2.4Jani Heikkinen2022-02-012-2/+2
| | | | | Change-Id: I9a9045243124d3646b52a88f76ba1d0503d27ecc Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>