aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fusion: fix type registrationJ-P Nurmi2017-09-121-2/+3
| | | | | | | | | | | When the Qt version was bumped to 5.11, QtQuick.Controls.Fusion 2.3 became 2.4 and the 2.3 import was no longer available. We have to combine the QT_VERSION_MINOR based qmlRegisterModule() with a hard coded version that keeps the old version 2.3 available. Task-number: QTBUG-63149 Change-Id: Ie268fa52282342930349f6b7c46052964e7073c2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.10' into devJ-P Nurmi2017-09-11353-395/+696
|\ | | | | | | Change-Id: Idda8b2dd62ca2f4fd17c3c9e969582198d92a28c
| * Merge remote-tracking branch 'origin/5.9' into 5.10J-P Nurmi2017-09-1116-20/+289
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/quicktemplates2/qquicklabel.cpp src/quicktemplates2/qquicktextarea.cpp src/quicktemplates2/qquicktextfield.cpp Change-Id: Ibbf6bc48972f58fbc6779a87ac9e2434c56c4db8
| | * 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>
| * | Update benchmarks for the new stylesJ-P Nurmi2017-09-114-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fusion was missing from tst_creationtime, and Imagine was missing from tst_objectcount. Furthermore, they were both missing from the list of dependencies declared in data/dependencies.qml, which is necessary in static builds and also expected to help with a random failure spotted in the CI logs: QWARN : tst_ObjectCount::qobjects(fusion/ApplicationWindow.qml) QQmlComponent: Component is not ready FAIL! : tst_ObjectCount::qobjects(fusion/ApplicationWindow.qml) 'object.data()' returned FALSE. (file:///C:/Users/qt/work/install/qml/QtQuick/Controls.2/Fusion/ApplicationWindow.qml:40 module "QtQuick.Controls.Fusion" version 2.3 is not installed) tst_objectcount.cpp(141) : failure location Change-Id: Ibb85b3024f1bb9d1e2a9654aeba39adb378fdec6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Doc: Edit languagev5.10.0-alpha1Venugopal Shivashankar2017-09-073-37/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Fixed pucntuation issues and typos - Removed redundant text Task-number: QTBUG-60647 Change-Id: I1ab0e8e62a2e3f4997629653b659f130c13db007 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | benchmarks: avoid "Empty filename passed to function" warningsJ-P Nurmi2017-09-072-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | Add isEmpty() checks to avoid annoying warnings from QFileSystemEngine for Unix. Change-Id: I20b4f07605692271468dfc26b3c968406323de98 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | tst_creationtime: exclude ApplicationWindowJ-P Nurmi2017-09-071-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Creating huge amounts of Q(Quick)Window instances puts an unreasonable stress on the system and we start facing issues such as that OpenGL context creation starts failing and things explode: qt.scenegraph.renderloop QSGGuiThreadRenderLoop::windowDestroyed - cleanup without an OpenGL context Change-Id: Iaf4725633af5def7fbb2df1f12ff61e4b543e5e2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Material: add explicit importsJ-P Nurmi2017-09-062-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To avoid problematic implicit imports: ASSERT failure in QQmlImportDatabase::importDynamicPlugin: "Internal error: Plugin imported previously with different uri", file qqmlimport.cpp, line 2072 Task-number: QTBUG-63037 Change-Id: I099bd88c6350853d3f0f525a7d9b8823f1f28f86 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Register new base class revisionsJ-P Nurmi2017-09-061-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | QQuickText & QQuickTextEdit have gained new properties in QtQuick 2.10. Make them available in QQuickLabel and QQuickTextArea, respectively. Change-Id: I5156b683efeedd24b23c18d1c2e2509d3040b647 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Bump QtQuick 2.9 imports to 2.10Mitch Curtis2017-09-06327-328/+328
| | | | | | | | | | | | | | | Change-Id: I274146911cd8a204fcbf439da9259b0a38c8092e Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| * | Doc: move qtquickcontrols2-applicationwindow-wireframe.pngJ-P Nurmi2017-09-042-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | d375a74 accidentally placed the image to a wrong place. Move it together with the other doc files. Change-Id: Ibdc35c8fad25ee4a8da4875c6e1ce494cfd3a570 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Bump versionFrederik Gladhorn2017-09-041-1/+1
|/ / | | | | | | Change-Id: I54773e2f74761b4b3ea9337b30db99ca4a9eb301
* | Merge "Merge remote-tracking branch 'origin/5.10' into dev" into ↵J-P Nurmi2017-09-0113-55/+109
|\ \ | | | | | | | | | refs/staging/dev
| * \ Merge remote-tracking branch 'origin/5.10' into devJ-P Nurmi2017-09-0113-55/+109
| |\ \ | | | | | | | | | | | | Change-Id: I581d64b0c3fbf98750756c9386c6166051834252
| | * | QQuickTabBar: optimize layoutingJ-P Nurmi2017-09-011-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QQuickTabBarPrivate::updateLayout() was being called quite many times during the creation. This patch reduces the amount of calls significantly and gives a little boost in qmlbench too (~133 => ~140). Change-Id: I6f8b31919cdc1a5e6cf4d133c5e55e400f3f8c26 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| | * | Make use of QQuickItem::ItemEnabledHasChangedJ-P Nurmi2017-08-314-31/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was added in qtdeclarative commit 286f14f1. Getting rid of the slow QObject::connect() gives a little boost of 1~2 frames in qmlbench. Change-Id: If027fe2bee9eedad572afe8828b302c2f44cffac Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| | * | Fix accessibility-related performance regressionsJ-P Nurmi2017-08-316-11/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before 089dd16f, we had a QQuickControlPrivate::accessibleAttached member that indicated whether accessibility was active. Since 4be38ab in qtdeclarative, it was possible to access QQuickAccessibleAttached:: attachedProperties() directly, but we ended up accidentally accessing it even when accessibility was not active, which added noticeable overhead. This improves those qmlbench test cases that call accessibility-aware setters such as QQuickAbstractButton::setChecked() a lot. For example, the test cases for CheckBox and RadioButton create large amounts of controls with a "checked: index % 2" binding. - CheckBox: 84 => 93 frames - RadioButton: 98 => 113 frames QAccessible::setActive(true) only notifies the observers, but does not really make accessibility active in the sense that the consequent calls to QAccessible::isActive() still return false. tst_accessible had to be changed to use QPlatformAccessible::setActive() instead. Change-Id: I8fd0fe2dddfd5633ce22a080bcda459f2d6e443e Reviewed-by: Liang Qi <liang.qi@qt.io>
| | * | ColorImage: colorize only if neededJ-P Nurmi2017-08-306-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QQuickColorImageProvider got replaced by QQuickColorImage in 9fc3659. This seems to have introduced a performance regression in several controls that are now colorizing images even when there's no need to. Various indicator images have the correct default color that matches the normal state. They need to be colorized only when gaining focus or being disabled, for example. The improvement in qmlbench results: - CheckBox: 70 => 84 frames - ComboBox: 88 => 92 frames - Dial: 73 => 77 frames - MenuItem: 73 => 84 frames Change-Id: I9155042542f5069cff201a1730b9dd2a62cffd67 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | | tst_combobox: remove bogus mouse highlight checksJ-P Nurmi2017-09-011-12/+0
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ComboBox gained mouse hover support in Qt 5.9. The highlighted() signal is now emitted during the test, because 4c46dce8f in qtdeclarative made QuickTest use QTest::mouseXxx(), which in turn calls the window system interface to deliver mouse events, and consequently, items in the combo box receive hover events. Before, QuickTest was sending mouse events directly, so there were no hover events involved. There is a separate test_mouseHighlight() function for the mouse highlighting functionality, so these tests can be simply removed. Task-number: QTBUG-62926 Change-Id: I7e5e0df993a9c2f78bae641bdfa9189f3cd0cc67 Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | Add ApplicationWindow::menuBarJ-P Nurmi2017-08-314-28/+131
| | | | | | | | | | | | | | | | | | | | | A follow-up commit to 66faa149. Change-Id: I94c92752d54ae0ca4878da72915b3d83461a4124 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | qquickapplicationwindow.cpp: de-duplicate item change typesJ-P Nurmi2017-08-311-12/+9
| | | | | | | | | | | | | | | Change-Id: Id2eb59bd696c408335813a27f393350d331f526f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Doc: update application window screenshotNico Vertriest2017-08-311-0/+0
| | | | | | | | | | | | | | | | | | | | | Added "Menu bar" Change-Id: I52b40156f307fb8ba8244ed16041a9a27ded1aa8 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | | Material: TextField hover effectBoris Moiseev2017-08-291-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Corresponds to Hover controls state as shown in Material guidelines https://material.io/guidelines/components/text-fields.html#text-fields-states Change-Id: I8745c265e2ce71aa36d5877cfdf5cbfb018fb650 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Boris Moiseev <cyberbobs@gmail.com>
* | | Material: position TextField background independently of bottomPaddingBoris Moiseev2017-08-291-1/+1
|/ / | | | | | | | | | | | | | | | | | | Currently Material background bar is positioned at the center of control bottom padding. When user tries to change the bottomPadding for instance of TextField, the background bar may be aligned incorrectly with field text. Change-Id: I901e4351374aa228a59414e91f6d1ae61ae164a1 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | SwipeDelegate: grab the mouse when accepting a press eventShawn Rutledge2017-08-256-100/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After 1f4bfc099b7e48e2cc3dd9488b7b42a96122b299 in qtdeclarative, QQuickWindow does not cause the Item to which it's about to attempt to deliver an event to pre-grab. (That caused a lot of thrashing of the grabber, so not doing that is a nice simplification, and also avoids the need to ungrab later, and also makes mouse event handling more like touch event handling.) So whenever SwipeDelegate knows at the time of mouse press that it wants to see the release too, it should grab. The grabber can be either the Item for which it's filtering events, or the SwipeDelegate itself, whichever is more appropriate in any given scenario. For now I assume it should be the delivery-target Item, because that's what would have had the grab before. Task-number: QTBUG-62412 Task-number: QTBUG-62631 Change-Id: Ie01276508c6602b10f9d7996a748ffe90efa36b5 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Blacklist tst_popup temporarilyFrederik Gladhorn2017-08-231-0/+10
| | | | | | | | | | | | | | | | We need to get the 5.10 alpha out and know that there are issues with the pointer handlers. Let's fix them while letting everyone else progress. Change-Id: I3624a7548d9a4fd00b8ef473d2b7a64302552cbe Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | tst_Drawer: blacklist several test functionsLiang Qi2017-08-221-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | This test started failing after the recent wip/pointerhandler to dev merge in declarative. Until a fix can be found, we'll blacklist the test so that integration isn't blocked. The issue will need to be fixed before the release. Task-number: QTBUG-62628 Change-Id: I1be77c6b2080f388ecd36aeb502e36e448c5ad62 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Fix tests for boot2qtSami Nurmenniemi2017-08-227-6/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The tests for boot2qt were disabled with commit 28063805bf22b77a93f22a4289ca8afa9f1cb201. The tests can be enabled since qtdeclarative now fallbacks to software renderer if OpenGL is not supported. Some tests involving mouse behavior and window grabbing need to be skipped on minimal/offscreen platforms. Task-number: QTBUG-60268 Change-Id: Ib468638df8d5001bf127dd17aee7dcfe38b11780 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | skip tst_dialog::reject() instead of blacklisting itMitch Curtis2017-08-226-20/+2
| | | | | | | | | | | | | | | | | | | | | | | | Running this test causes tests after it to fail, mainly those related to hover. Since we need to fix the root cause of the recent failures before the release, it shouldn’t matter too much that this test isn’t run for a bit. Task-number: QTBUG-62549 Change-Id: Id8fd00e9049890ae47504c3e4b4ea3dda8ac60ef Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | QQuickStyle: fix warning about empty filenameMitch Curtis2017-08-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 0dee566e98f5ff4f224e596de1c04de4f9685df4 (in qtbase) added a check for empty file names to QFileSystemEngine, and we run into that: Empty filename passed to function The fix is to check for empty file names before calling QFile::exists(). Change-Id: I273ea62f97ddcbf5b1a7952405a67ccb45c7672a Reviewed-by: Liang Qi <liang.qi@qt.io>
* | tst_dialog: blacklist test_reject()Mitch Curtis2017-08-195-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | This test started failing after the recent wip/pointerhandler to dev merge in declarative. Until a fix can be found, we'll blacklist the test so that integration isn't blocked. The issue will need to be fixed before the release. Task-number: QTBUG-62549 Change-Id: Ib72c39ca74c69cf33bd995f9572bf4a9a5b2f680 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | tst_swipedelegate: blacklist failing testsMitch Curtis2017-08-195-0/+100
| | | | | | | | | | | | | | | | | | | | | | | | Some tests started failing after the recent wip/pointerhandler to dev merge in declarative. Until a fix can be found, we'll blacklist the tests so that integration isn't blocked. The issues will need to be fixed before the release. Task-number: QTBUG-62412 Change-Id: Idfa887f979c946311136a4ee1438ee2921267214 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-08-159-16/+192
|\| | | | | | | | | | | | | Conflicts: tests/auto/popup/tst_popup.cpp Change-Id: I32e6c6b646a00f8805cb82d181417db60a6fe6c8
| * 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 failing tests in tst_menu and tst_qquickmenubarMitch Curtis2017-08-096-11/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As mentioned in the bug report for the failing tst_qquickmenubar test, the window is sometimes opened at the bottom right corner of the screen on the Ubuntu CI machines. However, even after centering the window on the screen, the old setPos() call still caused the tests to fail. So, we position the cursor past a different corner of the window, which works.. though I don't know why. Task-number: QTBUG-62363 Task-number: QTBUG-62383 Change-Id: I3649230002eaac5a6391daff24427e6f9f58cfa5 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Blacklist tst_menu::mouse on Ubuntu 16.04 CI machinesMitch Curtis2017-08-081-0/+5
| | | | | | | | | | | | | | Task-number: QTBUG-62383 Change-Id: Icabecdeebf1e00a5828dc16a091ca9503202bb1a Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Fix build when OpenGL is disabledJake Petroules2017-08-071-1/+1
| | | | | | | | | | | | | | | | This fixes a regression from 846a908. Task-number: QTBUG-62289 Change-Id: Ia8eabf67a1d71d3d45a7574103d8dafddbfb9367 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Blacklist qquickmenubar::mouse on Ubuntu 16.04 CI machinesMitch Curtis2017-08-071-0/+5
| | | | | | | | | | | | | | Task-number: QTBUG-62363 Change-Id: I325b567ed32d6d584d31466fa67479b253ca5a66 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Imagine: add missing information to .qdocinc includesMitch Curtis2017-08-021-2/+11
| | | | | | | | | | | | | | | | - Supported environment variables - Supported configuration file options Change-Id: I0324f410fcf89667ea42d3fcf5a3749c2c3779fb Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | Improve "Qt Quick Controls 2 Configuration File" documentationMitch Curtis2017-08-021-4/+21
| | | | | | | | | | | | | | | | | | - Added sections to make it possible to link to them from other pages - Added section for the Imagine style - Improved wording Change-Id: I3e5e01a73d7411ee5e156f8f934d699ce57e00d4 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>