aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto
Commit message (Collapse)AuthorAgeFilesLines
* Flickable: don't react to any mouse button other than the leftShawn Rutledge2021-09-282-0/+65
| | | | | | | | | | | In case of mouse "chording", ignore all other buttons. Fixes: QTBUG-96909 Change-Id: Ib091b271390c5b4e3aafbbe24d2dc7b6f08db175 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit f91aa3b4d8ae7bfba65a8252099ded3b428f7acf) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Binary compatibility files for 6.1Milla Pohjanheimo2021-08-254-0/+51267
| | | | | | | Binary compatibility files added Change-Id: Ib75c45280518b6fdcb944046dc70b6fd8713c400 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* qquicktextinput: Clear pre-edit text after input method resetJarkko Koivikko2021-08-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | The QPlatformInputContext::reset() function does not allow any further input method events to be called. Therefore, clearing the pre-edit text is the sole responsibility of the text input control. This change modifies the QQuickTextInputPrivate::resetInputMethod() function and calls QQuickTextInputPrivate::cancelPreedit() instead of QInputMethod::reset() directly. The cancelPreedit() function will send a QInputMethodEvent which clears the IM state (in addition of calling QInputMethod::reset() function). Also, rename the QQuickTextInputPrivate::resetInputMethod() function to cancelInput, since it does not call inputMethod()->reset() directly. Fixes: QTBUG-95461 Change-Id: I6ab3b9dbe71956af72656e2a25a05d79603b34ea Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Inho Lee <inho.lee@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> (cherry picked from commit b2103e33f490c96d0068d211c6f2d5b540ca407e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix regression in ListView/Flickable event deliveryJan Arve Sæther2021-08-202-0/+212
| | | | | | | | | | | | | | | | | | The regression was introduced with 2acb31641fc9c34d24ac29232cdfec The problem was that when we entered QQuickListViewPrivate::wantsPointerEvent(), the event was not localized to the QQuickFlickable when mouse filtering was done. Therefore, since the code assumed that the localPos was local to the Flickable, it always ended up assuming that the point was within the bounds of the header/footer. Fixes: QTBUG-89409 Change-Id: Ib595e61b7995241b58e3051da09139e1e1f13cba Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit b2e4f09bfa2c42af562f6741c0a0246a53028f0a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add tests of matrix4x4 transformation functionsYuya Nishihara2021-08-171-0/+54
| | | | | | | | | | | | These functions have been added at ded64d0368 "Make the qml/js matrix4x4 type more useful." Let's add some tests as I want to add another overload of rotate() function. Change-Id: I12e5970b8e3a6709e9f794c9713feb277cc8c449 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit b4866c499a6b2d1f42b77f08287988b01118c9f6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QV4::Heap::GeneratorObject: remove unused memberFabian Kosmale2021-08-022-0/+23
| | | | | | | | | | | | | | The member was marked as a Pointer for the gc; however it was never used, and thus also left uninitialized. This could cause memory corruption or asserts during the gc's mark phase. Fixes: QTBUG-95417 Change-Id: Ide826c0284b6060de8689e6f0dc753011108dba9 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> (cherry picked from commit d36b480a956e2437888925aa8a1f5e3cb6c06ebd) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Pass the focus reason through to the control on mouse pressVolker Hilsheimer2021-07-232-0/+119
| | | | | | | | | | | | | | | | | | Otherwise, a TextInput item will always receive OtherFocusReason when clicking into it. Add a test that simulates focus changes with mouse and keys, records the incoming focus events and verifies the correct focus reason is set in the event. Qt Quick provides no mechanism to access the focus reason from within QML (onActiveFocusChange only has a bool parameter, the focusReason property exists only in QtQuickControl). Task-number: QTBUG-75862 Change-Id: Ifea95c7ef2ac88c6c8e8bbdc8d2dbe5205ff922e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit bbcbb7c78f2f07e6c5e380ec5c018ac2a7abf292) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Avoid infinite loop in designer supportThomas Hartmann2021-07-223-0/+68
| | | | | | | | Task-number: QTBUG-94928 Change-Id: I1ee14600fb0fd9f0ee499546e3ffcd66114aaeff Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io> (cherry picked from commit d3cae36550fe8b82c641cef6a207e991a9064d85) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Make tst_examples target uniqueKai Köhne2021-07-161-1/+1
| | | | | | | | | | | qtdoc has also a target tst_examples, which conflicts in a top-level build with examples. Change-Id: I95bd9b569089a6fd27db18784ecea02acd0831f7 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 2ecab24d46032ceb7705d2d0e4cebe9a9956d2d7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* When setting the line dash to be an empty array reset the style to SolidAndy Shaw2021-07-141-0/+31
| | | | | | | | | | | | An empty line dash array is indicating that it should be reset to be a Solid line, otherwise it ends up reusing the previous settings for the pen instead of drawing a solid line. Fixes: QTBUG-75553 Change-Id: I16466672de95da8ef0cf3fc261969e7cc6add227 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit c31638f16b1fe709dd9df232afb9ab7fac3b231e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* TextEdit: ignore all key release eventsVolker Hilsheimer2021-07-142-0/+74
| | | | | | | | | | | | | | | | | Input events are accepted by default, and get ignored by the default event handler implementations. By overriding an event handler, the events get accepted, unless ignored explicitly. Since QQuickTextControl does not handle any key release events, it should explicitly ignore all of them, not just Key_Back (ignoring of which was added in 798112b6532a3c66abff630327d29a980a525f25). Fixes: QTBUG-95073 Change-Id: I09105fd8ebef73c03eb2083149643d188a2f1360 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit 6ca31ca88a7ee86308e329afd6cd2c90a050d4d9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Send hover events with correct scene and global positionsShawn Rutledge2021-07-061-4/+38
| | | | | | | Task-number: QTBUG-94971 Change-Id: I047223dfdb76a6f1237b9d15b54381cd085aa1ac Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 0a271b5cd4da9e13accbf63a576413c45f367adc)
* Fix conversion of entries to be added to QVariantListsUlf Hermann2021-06-174-0/+77
| | | | | | | | | We should pass the variants themselves, not their constData(). Fixes: QTBUG-94502 Change-Id: I92688348d7b46d74935dc11080b26290f5e8be86 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit dbe34dfa0d42510b804c898b77d6fe145473c31b)
* Don't let PointerHandler steal mouse grab from keepMouseGrab layerShawn Rutledge2021-06-012-0/+88
| | | | | | | | | | | | | | | As explained in the comment, the handler can override the keepMouseGrab "veto" if the item is a parent (like a Flickable) that filters events, but not in other cases. The logic was wrong though, apparently. Amends 090f404cf80da35734f712b02cc1543acecd5b62 Fixes: QTBUG-78258 Task-number: QTBUG-79163 Change-Id: I9a473ab3b23743f863cb0be13767fdbc29cd5e1c Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit b09ce7dcd8ecf24ef23da8197a64e3fced3fc894)
* Keep DragHandler active while dragging even if other event happensFabian Kosmale2021-05-272-0/+105
| | | | | | | | | | | | | | | | | QQuickPointerHandler::handlePointerEvent() calls setActive(false) when wantsPointerEvent() returns false (except for a NativeGesture event), for the sake of deactivating reliably when it receives an event which it does not handle. Now we need one more exception, because it's not what we want in DragHandler while dragging: If we get a wheel event, that should not interrupt the current drag operation. Thus, we change the logic in wantsPointerEvent to consider even events we wouldn't normally handle while the DragHandler is active. In handlePointerEventImpl, we then simply ignore them. Fixes: QTBUG-91549 Change-Id: I24e8bd890a21b244c9964f4df76986688085fa87 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit 40bbf1e8fddebb0974426a03b0f48dfc08f942de)
* Emit grabChanged() from DragHandler and PinchHandlerShawn Rutledge2021-05-271-0/+4
| | | | | | | | | | | | Followup to ca7cdd71ee33f0d77eb6bf1367d2532e26155cb2 : when overriding a virtual function, it's good practice to call the base class function, in the absence of any reason not to. Fixes: QTBUG-93880 Change-Id: Icbd04faec51d55d8fbf73319bd20f5846761d3d5 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit a10eeee97d42f05409074f69cc99d9a8da5db077) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Restrict types from unversioned imports only by major versionUlf Hermann2021-05-262-0/+28
| | | | | | | | | | | | | | | | | The versionless import tells us that any version of the type is allowed. We still record the major version because types have to be re-registered for each major version. Any minor version belonging to that major version is allowed, though. Restricting by minor version has the effect of passing the minor version of the "host" type into grouped property accesses. This is certainly unwelcome as the grouped type can have a higher minor version than the host type. Task-number: QTBUG-33179 Change-Id: I73f0f4fdaa00ac13cf91a4c21fd705c9dba070ec Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> (cherry picked from commit 5ca899164156ee49770ef3749e6d4b1567c00362) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* mingw: Skip segfaulting testsOliver Wolff2021-05-251-0/+15
| | | | | | | | | | | | | | QQuickDesignerSupportProperties::registerCustomData segfaults on mingw. Due to these segfaulting tests, mingw is marked insignificant at the moment. In order to get at least some test coverage for this configuration, the tests are skipped for now. Task-number: QTBUG-90869 Change-Id: I75c61b83c53e038be4dc518bf39955f477d381ee Reviewed-by: Heikki Halmet <heikki.halmet@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 9184f6c1de2c315cc66eb6cd3886c3daea90516f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Use fixed qt_add_resource BASE argumentJoerg Bornemann2021-05-213-19/+5
| | | | | | | | | Fixes: QTBUG-93849 Task-number: QTBUG-86726 Change-Id: If6e1033642d98ccd40daeb57a453c0e5bc2985da Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit 1917a868d9bbd6c916e2a54cad6ad28780f73f34)
* Remove tst_pixelMitch Curtis2021-05-193-78/+0
| | | | | | | | | | | | | Future patches will add uses of pixel() and other accessors to selftests/tst_grabImage.qml, and that's where those kinds of tests should be. Task-number: QTBUG-27671 Change-Id: I3ad42ded144cb7fa8b196a3ac58abcd9ee9b2abf Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Alexander Akulich <akulichalexander@gmail.com> (cherry picked from commit 1d1910e70778114e5eae586792664cf6c0997ed0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Blacklist tst_QQuickGridView::snapOneRow for Win 10 MinGW developer buildHeikki Halmet2021-05-141-0/+1
| | | | | | | | Task-number: QTBUG-88644 Change-Id: I0fdaa7d8d527dcb4c22c54e7d1004ee02c5e241c Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io> (cherry picked from commit f3ed98bf09885795de160468fd615c9e07d5ed5d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Map window coordinates to the same coordinate system as the QPointerEvent pointAlexey Edelev2021-05-112-3/+91
| | | | | | | | | | | | If the window has parent windows its geometry should be mapped to the global coordinates before check if it contains the point coordinates. Fixes: QTBUG-91716 Change-Id: I300547361dbe895b67caeee0d47f416426444552 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit c740a9d30571079fa22fd26cb8e72df6ca28c7b2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Blacklist tst_QQuickGridView::snapToRow for Win 10 MinGW Developer buildHeikki Halmet2021-05-111-0/+1
| | | | | | | | Task-number: QTBUG-88644 Change-Id: I6ee6e443f68d628a28cc0101670dac86721d58cf Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 0a51e25816a018d274c9f5f47e283ffc2e15604a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* qquicktableview: upon forceLayout(), check for visible rows/columns at the ↵Richard Moe Gustavsen2021-05-061-0/+78
| | | | | | | | | | | | | | | | | | | | | | origin There is a bug in TableView which will stop the user from scrolling/flicking back to the first column if it has become visible after first being hidden. The reason is that this is somewhat of a special case that happens only if the current left column is already at the origin of the viewport, since that will fool tableview into thinking that there can be no more columns in front of it. This patch add an extra section to the function that checks for visibility changes, to detect this special case. Fixes: QTBUG-93264 Change-Id: Ieaad507b45ea11dc231519e9f49cbf182d6443ba Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 546df684e272bbbc5e8b871ae9b224fdb34a4cfa) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* DragHandler: don't try to handle native gesture eventsShawn Rutledge2021-05-052-20/+94
| | | | | | | | | | | | | | | | | | | | | No gesture handling has been implemented in DragHandler (although we could). It just made the target item jump unintentionally. QQuickMultiPointHandler::wantsPointerEvent() returns true for gestures, because PinchHandler handles them, and the pattern is that base classes only rule out some kinds of events but leave the final decision up to the leaf class. The autotest has to use a touchpad now, not the primary pointing device, because QQuickPointerDeviceHandler::wantsPointerEvent() returns false if pointerType != Finger and acceptedButtons() is not satisfied. Fixes: QTBUG-92165 Change-Id: I984de750c9ae892f3ee61c7ed5b3ac4a7d187024 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 73051631545dc59d4419a5ef2202355349aab480) Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* V4 Debugger: Collect locals also from block scopesUlf Hermann2021-05-053-2/+85
| | | | | | | | | Block scopes can contain "const" and "let" members. Fixes: QTBUG-92224 Change-Id: Ie13d7d573e2759c510e1ea48c6edc68a095f40a0 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 051dd3178bc4c9214af60c69cecfc2c28f13174d)
* Make PinchArea translate correctly inside a rotated parentShawn Rutledge2021-05-052-0/+136
| | | | | | | | | | | Also includes 9dacc312e5b0f5aeb0f8370f4f7722b57754a3c2: fuzzy comparison in the test to avoid failure due to roundoff. Fixes: QTBUG-63673 Change-Id: I91231bb8555b7eb02a9580f9f184b261d8bd44c8 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 7642205be45135add120373299df02e05f4ffc58) Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* V4 debugger: Properly count break pointsUlf Hermann2021-05-042-18/+86
| | | | | | | | | | | | We cannot just take the number of active breakpoints as ID for the next one. It's possible to remove breakpoints after all. Fixes: QTBUG-93404 Change-Id: Icde7a8e47c740e930f2313ffd9034b00033a54aa Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 7f12cf3346d65d0bff78fff8000ed519fbb921ba) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* ListView: support QList<QUrl> modelsMitch Curtis2021-04-305-0/+189
| | | | | | | | | | | | | | | | | | For now this patch just tacks on another list type, but there may be a better way to account for all types in the future. This change also adds tst_qquicklistview2 to speed up development. tst_QQuickListView is 10000 lines long, and compiling it is slow (36 seconds on a 2016 i7 MacBook Pro). In addition, a similar approach (creating a second test to avoid the slowness of a massive one) already exists for QQuickItem tests. Task-number: QTBUG-72906 Change-Id: I05455a2f20978b07eb38591ab63e7d0fb7dac1ab Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 0e3902b83dc3c59567a81a90c3f3c0365bdf68da) Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Fix MSVC complaint about deprecated posix APIVolker Hilsheimer2021-04-291-8/+3
| | | | | | | | | | | | | | | MSVC wants ISO C++ _tzset instead of posix tzset, but we have qTzSet as a wrapper that also synchronizes with the environment mutex. The test already depends on Qt::CorePrivate, so no problem to include the qglobal_p.h private header. Remove the now unnecessary Windows specific includes. Change-Id: If418bcfdb5e06f3e6a08ecc0ddb3ef4aa99706d4 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> (cherry picked from commit 768a6415b596e557cd84ffb56c3aa0e32645aa2f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Use QKeyCombination to fix compiler warningVolker Hilsheimer2021-04-281-1/+1
| | | | | | | | | Avoid deprecated implicit cast to int. Change-Id: If89381eda7d92a1b17005d91472070b6ba31fb66 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit a2cf615516309d2baac503444c439ecab7e40ab3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QQmlComponentPrivate::setInitialProperty: improve error messageFabian Kosmale2021-04-271-1/+1
| | | | | | | | | | We can discern between the case where the property does not exist at all, and the case where we cannot set it. Change-Id: Ia2e8f4cc077a00b90d720db01bff1542a812dea0 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 7275328b967582010abfd59c9a93feef4cb1379f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* tst_qquickcanvas: Verfiy that canvas.context existsFabian Kosmale2021-04-231-0/+2
| | | | | | | | | | | Apparently it was possible to execute the pixel check before the canvas was fully created. Use tryVerify to ensure that it is actually is there before running the actual test function. Change-Id: I8e9f1133ea718c001f0456cb3af27f13e6d85e96 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit b8451949ba375ecf253fe07a3e043d83d00f9b74) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* qqmlirbuilder: Fix treating parser warnings as errrosMaximilian Goldstein2021-04-192-0/+15
| | | | | | | | | | | Previously parser warnings (i.e. inline components having lowercase names) were treated as errors. Because these were not handled properly this also resulted in the QQmlComponent with the warning never becoming ready. This resulted applications hanging instead of terminating. Change-Id: Ia5ad3b54edc1b94dd94d0bf771c3494691abec71 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit e49be8d2b1b7acb310873a63f46980d1f0296f95) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QQuickTextInput: update cursor rectangle after padding changedWang Chuan2021-04-162-0/+46
| | | | | | | | | | | The position of cursor delegate needs to be updated when we change padding, otherwise it will be in a wrong position. Fixes: QTBUG-91867 Change-Id: I89ca84fe893ebf517ab67890196eede14a4055d7 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit d98694c4023881673259ba040c10df7e71ec3d37) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QQuickItem::forceActiveFocus(): actually force active focusShawn Rutledge2021-04-162-0/+82
| | | | | | | | | | | | | | | | | | | | | It was trying to get by with setFocus() but that doesn't always work, in cases when the item's d->focus flag is true (leftover state) but it doesn't actually have focus anymore after a reparenting scenario. Item.focus represents the intention to be focused when possible, and does not necessarily change due to environmental circumstances, such as having its parent reparented. QQuickItem::setFocus(true) returns early if the new requested focus state is the same as the stored d->focus; so it was not enough for foceActiveFocus() to call only setFocus(). In the bug, TextInput and Loader both get stuck in the state d->focus == true, so forceActiveFocus() did not do anything before. Fixes: QTBUG-89736 Change-Id: Ib7f4caccf81b60a02e2655332b64efba4d1fd7cf Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit a8be17a1472c6f504c0c40f68fdc13df035ac4b4) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Check thisObject when calling various methods on URLUlf Hermann2021-04-141-0/+64
| | | | | | | | | | We should not crash when you try to call them on the wrong object. Rather, throw a type error. Change-Id: I1b146d9c77d838e013408988e02a65a623641f1f Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit f32436122f6ac16bfd6f23228b85a6f7c12502b6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Verify result of testVolker Hilsheimer2021-04-131-1/+1
| | | | | | | | | Fixes compiler warning, and makes that test actually test something. Change-Id: I266b538dea36bef87db52e1e18c1d606015b03c9 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit bd1e0844aef407924863f8368b4f475937290ee5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Silence warning from testing deprecated functionalityVolker Hilsheimer2021-04-121-0/+3
| | | | | | | Change-Id: I6bc4ae42bc61eac4fda739baa2d9d28773823ef0 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 7052ea9de8913ed2e62638ba9b00ef3870d9fbcc) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix warnings about lossy double/float conversion in testsVolker Hilsheimer2021-04-126-51/+51
| | | | | | | | | | | QColor operates on floats, not qreal or double, so explicitly use float literals in test code. Change-Id: I6f0cb56e861b4812fc79ce67ade9abe3ee9dfddc Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: David Skoland <david.skoland@qt.io> (cherry picked from commit 8bb955e22f027fc3fd9402383445685cb4185744) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Mark overrides in tests to silence compiler warningsVolker Hilsheimer2021-04-1233-71/+71
| | | | | | | Change-Id: Ieed929dcd7b550a1dc365d34b6f20f2f0e2d057f Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit 0d28805cc7790511b9414a900be57f3b2d8d63a8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Do not auto-clean components with live inline componentsUlf Hermann2021-04-093-0/+46
| | | | | | | | | | | The inline components do not hold a strong reference to their outer type because that would be a reference cycle. Fixes: QTBUG-92236 Change-Id: I6d76a114352653210f0ece6c198cf761d3b4eda1 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit d0d4cc528ba9e3c39c15a2292066dac1d457abd5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* When resolving property types, also update the property type namesUlf Hermann2021-04-092-0/+11
| | | | | | | | | Otherwise we end up with a mixture of QML and C++ names. Task-number: QTBUG-92447 Change-Id: I94c44307d8dd762d11cfd8f178f33ab6a895ee83 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 4beba3a2b68a389c426791dd43c638f3539d8f20)
* Fix string type name in qmllintUlf Hermann2021-04-092-0/+10
| | | | | | | | | | | | | The "length" property is special cased because it's the only own property of any JavaScript built-in type. As we've changed the internal name of the string type in builtins.qmltypes, we need to reflect this in qmllint. Fixes: QTBUG-92447 Change-Id: I9a5c7e9ab3da686bb6ac3fdffa36269abb0eb6ea Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit b28c8c87ec84dccc156603f8479fd0a8a06bc46c)
* QV4QObjectWrapper: Store the whole signalFabian Kosmale2021-04-084-0/+36
| | | | | | | | | | | | | | | | | | | | | | 90be89d771425044a84e9e79e4e668e065acc825 changed the connection logic to actually pass the receiver to connect in order to fix disconnect cleanup. However, we omitted to change QObjectSlotDispatcher::impl accordingly. The previous logic was: - store the index of the signal in signalIndex - In impl, in the call case, we would get passed the emitting object (sic!) as the receiver parameter. Then we would use the object and the signal index to obtain the QMetaMethod. - From the QMetaMethod, we could get the signal's number of parameters. After the aforementioned change, that does not work anymore: The receiver is now the actual receiver of the signal, thus we get the wrong method, and potentially the wrong number of parameters. To fix this, we now store the complete QMetaMethod of the signal. Change-Id: I868c51edf24a61d14eaf958ed7942da27f54a5c3 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit e7e4eba6875c0f375c4fd03af9b3ed9ea44d0ba1) Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* qqmlapplicationengine: Handle errors during component creationMaximilian Goldstein2021-03-303-0/+27
| | | | | | | | | | | Previously QQmlApplicationEngine did not handle any errors that occurred during object creation (i.e. failures to initialize required properties) which lead to QObject::connect errors and to the error messages not getting printed among other issues. Change-Id: I69bc566a6d349c786cae82a963a621388684c8f5 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 890cb4cb236333fd5b112fffc0e9088ecb43f2df) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* DelegateModelGroup: Fix bug where item could be removed from the modelJan Arve Sæther2021-03-294-0/+74
| | | | | | | | | | | | | | | | | | | | | | | If an item was removed from the DelegateModelGroup before it was completed it caused subsequent items in the model to be missing in some cases. The reason was that while populating the ListView, it iterated with an index for each item to call createItem() on. However, createItem() might call onCompleted (which in the case of QTBUG-86708 removed the item from the DelegateModel), which caused the next index we called createItem() with to be wrong (it became one step ahead). We therefore add a helper class MutableModelIterator, which keeps track of if a index in the model got removed (and if the iterator index needs to be adjusted because of that).... Task-number: QTBUG-86708 Change-Id: I33537b43727aed4f2b9bdda794b011b6684c44b4 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 0ff9db566c48172c688bf9327fe6a781dc4a1c34) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QQuickTableView: always update content size when rebuilding small tablesRichard Moe Gustavsen2021-03-272-0/+99
| | | | | | | | | | | | | | | | | | | | | If you have a TableView with only a couple of rows, and you add a third one, the contentHeight doesn't update. This is fine if not all rows are loaded (some are outside the viewport), but when they are all inside, it should update to reflect the exact height. The same is also the case for the contentWidth. If you add a new row that increases the with of a column (and all columns are visible), the contentWidth should update. This patch adds an extra check when we do a rebuild (which we do when you add a new row), to see if all rows or columns are loaded. And if that is the case, we update contentHeight or contentWidth, respecitively. Fixes: QTBUG-92099 Change-Id: I806bfb7c3606fca97c5d27cbb91856cc40df9fb8 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit d6a5afd120838647e0dd2a420dacf06389f0a48e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add binary compatibility files for Qt 6.0.0 for QtDeclarativeMilla Pohjanheimo2021-03-264-0/+64965
| | | | | | | | | Binary compatibility files added Change-Id: Ifccf803f8f2bcf1b5c857ae36fb7090700ffe4b8 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit e8a0014cc847cc10247ffbe1d7e6f5b8e25738b8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add override keyword in tests to silence compiler warningsVolker Hilsheimer2021-03-256-21/+21
| | | | | | | | Change-Id: Ib18e8aa7acf2c5abd68578f4f4405a977d19d286 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io> (cherry picked from commit 799495cb7da2aa47c6442f035b4e6a8a3efc5ae8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>