aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Default: improve TextField and TextArea stylingMitch Curtis2017-09-194-7/+12
| | | | | | | | | | - Remove top-level opacity assignments to allow full customization - Add more distinction between disable and placeholder text - Make disabled text more visible Task-number: QTBUG-62854 Change-Id: I2e8998fb739e4beda58978173173ca94a3759caf Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Fix font inheritanceJ-P Nurmi2017-09-116-9/+135
| | | | | | | | | | In item views, it can happen during incubation that a control doesn't yet have a window associated when the parent item changes. Therefore we must make sure to resolve the font when the window changes. Task-number: QTBUG-63119 Change-Id: I890f70ae6faa232dcc2c094ccec02e76b371d2cb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fully qualify atan2 with the std namespaceJake Petroules2017-09-081-1/+1
| | | | | | | | This fixes the build on VxWorks Change-Id: I5ba3d182184151b62e3ed6c0ab5e4d77a0e66768 Reviewed-by: Tuomas Heimonen <tuomas.heimonen@qt.io> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* Fix non-modal drawer drag/swipe open and closeMichal Policht2017-09-063-1/+109
| | | | | | | | | | Function QQuickPopupPrivate::blockInput() has been overridden in QQuickDrawerPrivate to accept events that occur while mouse/touch is grabbed and events within drag area. Task-number: QTBUG-59652 Change-Id: Icf4129e702a351b266ea9c4544830185c315fc37 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Android: fix clang compilation with -qreal floatVyacheslav Koscheev2017-09-013-6/+6
| | | | | Change-Id: Ica7a417aa1bb531bc63e3fa9dda0505a6e552b67 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* QQuickSpinBox: fix initial value validationJ-P Nurmi2017-08-292-2/+10
| | | | | | Task-number: QTBUG-62508 Change-Id: I8981968c02b65d4b005eb9b54b0228fd51a3abda Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix a crash with ScrollView + TextAreaJ-P Nurmi2017-08-293-1/+25
| | | | | | | | | TextArea was not cleaning up its geometry change listener on the Flickable it was attached to. Task-number: QTBUG-62292 Change-Id: I31223d4fcf0b46235b18e8eb05bab686a32f5481 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* StackView: Resolve relative urls in initialItemAlessandro Portale2017-08-072-0/+9
| | | | | | | Check whether a URL is relative and try to resolve that. Change-Id: I6b0f7bca2011356aca5071d20dbd270eb5d115bf Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Doc: fix custom SpinBox snippetMitch Curtis2017-07-311-2/+2
| | | | | | | | The snippet fails when pasted to a file where its not the root item, so qualify the binding with the control's id. Change-Id: Ibd16beaddafb112d1d9ecfad6914021ca9bdeede Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Fix QQuickPopupPositioner::reposition()J-P Nurmi2017-07-281-2/+2
| | | | | | | | | | | | | f1e139b broke popup flipping. Many of the sub-menu positioning tests start failing when merging 5.9->dev. The intention was to avoid calling mapToScene() twice and re-use the already mapped rectangle, but the flipping code needs the requested Popup coordinates, whereas the mapped rectangle is conditionally using PopupItem coordinates, so re-using the mapped rectangle is not possible after all. Change-Id: Ic00e985d937fce7aadfd24f817a06fd86d9e307d Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* Popups: take Window::contentOrientation into accountJ-P Nurmi2017-07-275-12/+162
| | | | | | Task-number: QTBUG-62158 Change-Id: I0bcf5b02da6a3500e4324462d5f1249a6178c9fd Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix QQuickStackViewPrivate::viewItemTransitionFinished()J-P Nurmi2017-07-262-2/+19
| | | | | | | | | | | ~QQuickStackElement() emits QQuickStackViewAttached::removed(), which may be used to modify the stack. Set the status first and make a copy of the destroyable stack elements to exclude any modifications that may happen during the loop. Task-number: QTBUG-62153 Change-Id: I144acd693519e637b78f9a2d910e83da8f2d779e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix QQuickControlPrivate::getContentItem() overridesJ-P Nurmi2017-07-144-12/+8
| | | | | | | | | | | | | | | | | | | | When no content item is explicitly assigned, container type of controls (Page, Pane, Popup...) create a default content item on demand. Notice that the content item is created from within the contentItem() getter, so it must not emit contentItemChanged() to avoid binding loops. QQuickControl::setContentItem_helper() was introduced in 1eaebd0 to mitigate basically the same problem with QQuickScrollView, which has its own special lazy creation of a Flickable content item. Now, the problem is that the other container controls are not executing setContentItem_helper(), because they have already assigned contentItem and therefore it returns right away. Fix the issue by returning the new content item without assigning it to let setContentItem_helper() do its job. The issue was spotted while debugging QTBUG-61434. Change-Id: Id6f84748ec08bbdfd3bd934dda627e2619af7d2a Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix unused parameter errors in qwidgetplatform_p.hJason Erb2017-07-141-0/+6
| | | | | | | Task-number: QTBUG-61950 Change-Id: Idbc6bcc8f08dcccc50b409a055ab6c35e1f9aef8 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* QQuickDrawer: fix multi-touch leaking through modal overlayJ-P Nurmi2017-07-144-4/+201
| | | | | | | | | | The first touch point was blocked as appropriate, but the consequent touch points were leaking through to other popups below Drawers' modal overlay. Task-number: QTBUG-61581 Change-Id: I1c3e28e3d25b7489c4a9b684107fd1b5158e1674 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QQuickPageIndicatorPrivate: add missing overrideJ-P Nurmi2017-07-111-1/+1
| | | | | | | | | Somehow this passed the 5.9 CI, but the dev branch throws an error: qquickpageindicator.cpp:110:10: error: 'itemChildAdded' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override] Change-Id: I2effeb908552fa2759057cf0953ea65737be3f9a Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix focus handling for popupsJ-P Nurmi2017-07-113-5/+62
| | | | | | | | | | | | When a popup is closed, if there are multiple popups open, restore focus to the next popup in chain instead of transferring focus to the window content. This allows us to cleanup the custom focus handling for sub-menus in dev. There is no more need to manually transfer focus to the parent menu or to a sub-menu, but calling open() or close() is enough and the focus is automatically transferred as expected. Change-Id: I54406c7c6b8dd25af261e00ebb1ae00ccbea8b9f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add color and styleColor to property editor for LabelThomas Hartmann2017-07-101-0/+24
| | | | | | Change-Id: Ie8ecc3874a61b29083e53441c3f484b94195ec46 Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Example: Replace spaces from the image file nameVenugopal Shivashankar2017-07-1019-18/+18
| | | | | | | | | | Updated the corresponding qml files where these images are used. The spaces in file name stops qdoc from listing the file in the example page. Change-Id: I45b24ec88d367fe229fe365eeb611b86de805e0d Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Drawer: ignore and warn about invalid edge valuesMitch Curtis2017-07-073-6/+31
| | | | | | | | | This fixes an issue where an application would crash when opening a drawer by dragging it after an invalid edge value had been set. Task-number: QTBUG-61843 Change-Id: Ie9b9ea0276b356b92927b858f2be355bfc042afb Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Tumbler: fix regression with currentIndex and currentItemMitch Curtis2017-07-076-46/+123
| | | | | | | | | | | | | | | | | | | | | | | | | 2c4b2d48 made Tumbler's wrap property follow its count by default, but did so using updatePolish() to account for the use case where a items are appended to the model in a for loop, as is done in TumblerDatePicker.qml in Tumbler's auto tests. This (appending items one at a time in a for loop) is not a good idea, but it should work. The problem with the solution is that the delay means that the use cases mentioned in the referenced bug report were broken. This patch removes the delay. The recursion guards are necessary due to the complex nature of TumblerView (and its non-standard use of the Qt Quick views), as they prevent a memory leak in QQuickListView::createHighlight() from being introuduced. We now call deleteLater() to ensure we do not interfere with the views' internal operations, and hence we also perform a few extra operations at the same time as insurance (although it appears that simply unparenting the internal view from QQuickTumblerView is enough to get the tests to pass). Task-number: QTBUG-61374 Change-Id: Ifef9e99522ea183b282ac862f346beaed12d0c09 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Remove redundant code in touch event handlersJ-P Nurmi2017-07-072-26/+2
| | | | | | | | | | | QEvent::TouchUpdate can contain touch points in any states. It iterates the list of points and calls handlePress/Move/Release(). We can re-use the same handling for QEvent::TouchBegin() (pressed) and QEvent::TouchEnd() (released). This change does not fix anything but makes the next steps easier. Change-Id: I29edd949579ab6a4bf923e455a1ef38adb05e3a5 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix modal overlay to block multi-touchJ-P Nurmi2017-07-043-4/+43
| | | | | | Task-number: QTBUG-61698 Change-Id: I46db5e9816190ac7afd6b671198dff11089bc4f3 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* ScrollIndicator: don't block touchJ-P Nurmi2017-07-043-0/+38
| | | | | | | | | | | Unlike with mouse events there's setAcceptedMouseButtons(), currently there's no way to control whether a control receives touch events or not. As a temporary workaround until QQuickItem::setAcceptTouchEvents() has been added, we'll have to ignore touch events by hand. Task-number: QTBUG-61785 Change-Id: I9a678570bfdd104ae32b4040ecef7625dcfd1aee Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* BusyIndicator: don't block touchJ-P Nurmi2017-07-043-0/+38
| | | | | | | | | | | Unlike with mouse events there's setAcceptedMouseButtons(), currently there's no way to control whether a control receives touch events or not. As a temporary workaround until QQuickItem::setAcceptTouchEvents() has been added, we'll have to ignore touch events by hand. Task-number: QTBUG-61785 Change-Id: I195d5ec3122ca0c7f2fade700b5b0c221472a243 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* PageIndicator: don't block touch when non-interactiveJ-P Nurmi2017-07-043-0/+51
| | | | | | | | | | | Unlike with mouse events there's setAcceptedMouseButtons(), currently there's no way to control whether a control receives touch events or not. As a temporary workaround until QQuickItem::setAcceptTouchEvents() has been added, we'll have to ignore touch events by hand. Task-number: QTBUG-61785 Change-Id: I8e3bdc3df1c3b28afaf8f80965569135e6a53120 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* PageIndicator: fix touch supportJ-P Nurmi2017-07-043-49/+63
| | | | | Change-Id: I00d4f6ed466e33be3f31b2cd0bcbae6707d84cb9 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Doc: fix the anchors.fill links in the Chat TutorialJ-P Nurmi2017-07-041-2/+2
| | | | | | | | | | | | There was a QDoc warning: qtquickcontrols2-chattutorial.qdoc:28: warning: Can't link to 'anchors.fill' and the anchors.fill links weren't actually linking to the anchors property but just to the beginning of the QML Item docs. Change-Id: I66f66765443e5b75af8198309f9f7482e70ea2d3 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.9.1' into 5.9Liang Qi2017-06-301-0/+75
|\ | | | | | | Change-Id: I40305fb37ab91033d43f408cd0726c4cddc556d5
| * Add changes file for 5.9.1v5.9.1Jani Heikkinen2017-06-231-0/+75
| | | | | | | | | | | | Change-Id: If9e0016cb6d641154642a97bc97cf5229d65e998 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Bump versionOswald Buddenhagen2017-06-301-1/+1
| | | | | | | | Change-Id: I1567b32b9e951944ec764cd37d6ffeedac386476
* | QQuickMenu: fix press-and-hold supportJ-P Nurmi2017-06-293-1/+95
| | | | | | | | | | | | | | | | | | | | Remove the OnReleaseOutside close policy, just use the defaults from QQuickPopup. This way menus won't get immediately closed on release, when opened from an onPressAndHold signal handler. Task-number: QTBUG-61608 Change-Id: Ifedd596aa0e71ac5f4211fa42e2ae499918df1b2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Doc: fix from/to sentence in first & second docsMitch Curtis2017-06-291-2/+2
| | | | | | | | | | | | Task-number: QTBUG-61647 Change-Id: I090017082de3287fd59f825d1cff01842a5ab5f8 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Fix typos in tst_applicationWindow::attachedProperties()J-P Nurmi2017-06-291-3/+3
| | | | | | | | | | | | | | | | | | It is supposed to test the ApplicationWindow attached properties on Control, Item, and QtObject, but the Item instances were accidentally made Control instances. Change-Id: I6caf24b50fc0ffe97396364cf6b10b0ad653d9ed Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Fix tooltips to not block shortcutsMitch Curtis2017-06-282-1/+40
| | | | | | | | | | | | | | Task-number: QTBUG-60492 Change-Id: Ic1f380f44593d4a8681bff874789692d17b9edf7 Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Doc: Improve tone at the beginning of the tutorialVenugopal Shivashankar2017-06-281-22/+49
| | | | | | | | | | | | | | | | | | | | The tutorial now sounds like it is leading the reader through a series of changes to the default code that came with the "Qt Quick" application template. Change-Id: I6e46e720df9668dff435541ebd97bdaa6a7c02ad Reviewed-by: Nico Vertriest <nico.vertriest@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Fix tst_calendar::MonthGrid::test_locale()J-P Nurmi2017-06-261-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | When the JS Date constructor is passed a string in the ISO 8601 format (e.g. "1970-01-01"), it is treatead as UTC, not local. Therefore, while comparing the expected dates from the model, we must base the comparison on UTC as well. Otherwise, the actual and expected dates may differ due to the timezone difference. This issue was detected thanks to a new CI setup that had accidentally UTC+8 timezone set. Task-number: QTBUG-61535 Change-Id: I93cfce5a81d48dc859f002dcd6b59ddb0701911c Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | QQuickMonthGrid: fix touch supportJ-P Nurmi2017-06-263-39/+93
| | | | | | | | | | | | | | | | | | | | | | | | QQuickMonthGrid lost its clicked() signal when multi-touch support was added to QQuickControl, because QQuickControl now accepts touch events and therefore QQuickMonthGrid no longer gets synthesized mouse events. Re-implement QQuickControlPrivate::handlePress/Move/Release/Ungrab() instead of QQuickControl::mouseXxxEvent() to gain multi-touch support. Task-number: QTBUG-61585 Change-Id: Ic6fb2ea0b43b2b44beb0d8fdd3335a20f7c028f6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Doc: explain the syntax for RangeSlider's first/second change handlersMitch Curtis2017-06-221-0/+7
|/ | | | | | | | This is not obvious for those who are not familiar with grouped properties. Change-Id: I4b3e02f3bbba7c7a0ec1897da99af8e5d048e570 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* QQuickSpinBox: emit valueModified() on long pressJ-P Nurmi2017-06-162-98/+56
| | | | | | | | | | Move the emit inside QQuickSpinBoxPrivate::setValue() to avoid having to store and compare the old value in so many places where the value changes are interactive (mouse, keys, wheel). Task-number: QTBUG-61426 Change-Id: I7f42fc09cafc403eb55a9748e3a93c2e9bf6df62 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* ScrollBar: fix flashing in Material & Universal stylesJ-P Nurmi2017-06-163-0/+42
| | | | | | | | | | | | | | | Ensure a suitable starting opacity for the inactive state transition. When calling increase() and decrease() from key-handlers, as the docs suggest, we flash the scrollbar by turning the active state on, and then back off immediately. If there is an opacity animation when the scrollbar becomes active (Material & Universal), the opacity animation is stopped right away, because the state changes back to inactive. This state changing trick worked only with the Default style, because it changes the opacity without animating when it becomes active. Change-Id: I4117de79c7145a710c0b6c43873ca2336b64e21e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix typo in code comment in qquicktumblerview.cppMitch Curtis2017-06-131-1/+1
| | | | | Change-Id: Ie12bbad5981af263d5dc8fcbb0e7674b9e823132 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* ComboBox: fix QObject list value modelsJ-P Nurmi2017-06-122-0/+29
| | | | | | | | | | | | | When ComboBox::model is bound to a QObjectList property, the effective type of the model is QVariant(QQmlListReference) and things work as expected. When a similar QObjectList is constructed by hand in JS, or returned from an invokable method, the effective type of the model is QVariantList(QObjectStar) instead. In this scenario, we have to help QQuickComboBoxDelegateModel::stringValue() to lookup the property that matches the given textRole. Change-Id: Ib44c912cf647e1cd98c5608436427d31caf80d97 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QQuickMenu: fix key navigationJ-P Nurmi2017-06-093-12/+104
| | | | | | | | | | | Skip non-focusable separators, and use a key focus reason (Qt::TabFocusReason & Qt::BacktabFocusReason) to give the items visual focus. [ChangeLog][Controls][Menu] Fixed key navigation to skip separators. Change-Id: I99affabc50703c7363ab8146e5ced9b45111de00 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix QQuickMenuPrivate::itemSiblingOrderChanged()J-P Nurmi2017-06-081-1/+5
| | | | | | | | | | | QQuickContainer was fixed in the previous commit. Apply the same fix to QQuickMenu, because the code is based on QQuickContainer. I'm not able to make QQuickMenu crash with the same test case adapted to QQuickMenu, though. QQuickMenu already has tests for Repeater in tst_menu.cpp. Task-number: QTBUG-61310 Change-Id: I3fba1b7ef15659724880df080dab5015eae484a3 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix QQuickContainerPrivate::itemSiblingOrderChanged()J-P Nurmi2017-06-082-1/+32
| | | | | | | | | Repeaters are not part of the content model. Exclude them when calculating the target index when the order of items changes. Task-number: QTBUG-61310 Change-Id: Iaedd59288ed38e985a34ed8e1f515fdfb50d74e6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Make QtQuick.Controls::ButtonGroup a composite typeJ-P Nurmi2017-06-084-4/+49
| | | | | | | | | | | This is a backport (only the ButtonGroup part) of 1af7f8a59, which was already pushed to dev. The main motivator for the original patch was to cleanup the registration code, but this fixes also an issue with auto- completion in Qt Creator. Task-number: QTCREATORBUG-18321 Change-Id: I5e8e8122cb94c74f78445cce1a89f604634149b1 Reviewed-by: Marco Benelli <marco.benelli@qt.io>
* Doc: reorganize the style imagesJ-P Nurmi2017-06-0716-71/+40
| | | | | | Task-number: QTBUG-60995 Change-Id: I3083a7a2bb39d242f31a9c5d0bfed66dbdb88202 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix font inheritance for popupsJ-P Nurmi2017-06-0721-10/+1285
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) First of all, Popup's QObject-parent depends on the way the Popup is declared in QML, or what is passed as a parent to createObject() when creating dynamic instances. For example: - Popup becomes a QObject child of of the contentItem: ApplicationWindow { Popup { } } - Popup becomes a QObject child of the window: ApplicationWindow { Item { Popup { } } } - Popup becomes a QObject child of the specified parent: ApplicationWindow { Component { id: component Popup { } } Component.onComplete: component.createObject(overlay) } Since QQuickWindow and QQuickView did not set the QObject-parent of their contentItem and rootObject, respectively, we had troubles finding popup instances, because window->findChildren<QQuickPopup>() and window->contentItem()->findChildren<QQuickPopup>() would produce inconsistent results. This has been fixed in qtdeclarative commit af6655885, so now we can use window->findChildren() reliably. 2) Popups inherit font from the associated window, not the parent item. It was wrong to call resolveFont() in setParentItem(), because the parent item might not change even though the associated window does. The piece of code was moved to setWindow() instead. 3) QQuickPopupItemPrivate::resolveFont() did not propagate the default font at all when the font was resolved before being associated to a window. 4) After the above fixes had been applied, to ensure that popups always inherit fonts and propagate them down to children as appropriate, we got a new test failure in tst_controls::Popup::test_font() indicating that there were extra font change notifiers triggered at creation time. This was fixed by associating "top-level" popups with the window as soon as they are appended to ApplicationWindow's default property, instead of waiting until the popup is complete and then doing a lookup in the parent hierarchy. Task-number: QTBUG-61114 Change-Id: I6185c76d50835cb7a06b03db0a3ac9ddad64bdd3 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Let users disable the multi-touch supportJ-P Nurmi2017-06-0725-1/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | The newly added multi-touch support can create issues, especially together with Flickable that is unfortunately still not properly touch-compatible. The implementation is still based on synthesized mouse events, so things like Flickable::pressDelay that intercepts mouse presses and re-sends sends them after a delay, does not play well with touch-enabled controls. The easiest way we can disable the whole thing is to make multi- touch support a configurable feature, the same way hover support is. ./configure -no-feature-quicktemplates2-multitouch [...] Qt Quick Templates 2: Hover support .......................... yes Multi-touch support .................... no [ChangeLog][Templates] Added a configure feature for disabling multi- touch support (configure -no-feature-quicktemplates2-multitouch). Task-number: QTBUG-61144 Change-Id: I0003ae925c2a499ecb3e2a5b720088bd963d9ad3 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>