summaryrefslogtreecommitdiffstats
path: root/tests/auto/compositor
Commit message (Collapse)AuthorAgeFilesLines
* Correct license for test filesLucie Gérard2024-04-0417-17/+17
| | | | | | | | | | | According to QUIP-18 [1], all test files should be LicenseRef-Qt-Commercial OR GPL-3.0-only [1]: https://contribute.qt-project.org/quips/18 Task-number: QTBUG-121787 Change-Id: I35b93ca5f2fd27685eda4aafda48c24925c0c56f Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* Mark the whole repo with QT_NO_CONTEXTLESS_CONNECTAhmad Samir2024-02-151-30/+28
| | | | | | | | | | | | | | | | | | | | By adding it to the default build flags via .cmake.conf. tst_primaryselectionv1 and tst_datadevicev1: the connection type needs to be explicitly set to DirectConnection, otherwise the test fails. The sender and receiver are the same object, so typically would be in the same thread. The docs say: "If the receiver lives in the thread that emits the signal, Qt::DirectConnection is used." I suspect because the code is running inside CoreCompositor::exec() the signaling thread is different from the thread the objects live in, so leaving the type as AutoConnection when sender/receiver are the same object doesn't lead to the type becoming DirectConnection. Task-number: QTBUG-116296 Change-Id: Iad49889134a78fa723973ba6efbc237038f35b82 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Autotest: don't access object that has gone out of scopePaul Olav Tvete2023-09-181-3/+4
| | | | | | Fixes: QTBUG-117069 Change-Id: Iafa603ce9b31eb66beebf18d62661c4daaf2632b Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Test: update MockClientInho Lee2022-11-102-1/+15
| | | | | | | | | add name and description functions in order to suppress warnings. This amends f1e71327d462d2dae0b46677bbc478afb0d1b2f7 . Change-Id: I0f638802773ce3da4574683e0783ec7405e7c0dc Reviewed-by: Liang Qi <liang.qi@qt.io>
* Disable/fix warningsJonas Karlsson2022-10-282-0/+6
| | | | | | | | missing-field-initializers and unused variable Change-Id: I1a5ceaf53ec706786c73eecab0c002fa9153b962 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Port from container::count() and length() to size()Marc Mutz2022-10-101-26/+26
| | | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator as in qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8: auto QtContainerClass = anyOf( expr(hasType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes))))).bind(o), expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o)); makeRule(cxxMemberCallExpr(on(QtContainerClass), callee(cxxMethodDecl(hasAnyName({"count", "length"), parameterCountIs(0))))), changeTo(cat(access(o, cat("size"), "()"))), cat("use 'size()' instead of 'count()/length()'")) a.k.a qt-port-to-std-compatible-api with config Scope: 'Container', with the extended set of container classes recognized. Change-Id: I574208abc90a8042b500b3f96e3862b0ff339eb6 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-232-2/+2
| | | | | | | Task-number: QTBUG-105718 Change-Id: Icb25ea4e07a38eea81f55ed59c6d3b9d37602626 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: Don't use PUBLIC_LIBRARIES for tests and test helpersAlexandru Croitor2022-07-281-2/+2
| | | | | Change-Id: I95f27e29fdee60acecba4fbba9b1b77c1680cee5 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Add license headers to cmake filesLucie Gérard2022-07-082-0/+6
| | | | | | | | | | | | CMakeLists.txt and .cmake files of significant size (more than 2 lines according to our check in tst_license.pl) now have the copyright and license header. Existing copyright statements remain intact Task-number: QTBUG-88621 Change-Id: Ib014757184540728f40df71cd580f01e85fbbb56 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Use SPDX license identifiersLucie Gérard2022-06-1017-459/+34
| | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I106d3a5d1a7b96250380b6f51a48f3b19d10e4d9 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Stop using soon-to-be-deprecated QMouseEvent constructorShawn Rutledge2022-02-011-1/+2
| | | | | | | | | | We need to provide globalPosition rather than letting QMouseEvent possibly fill it from QCursor::pos(). Pick-to: 6.3 Change-Id: I5313439512ce59608fe18554edc40d332df5ec17 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
* Remove QMake project filesJoerg Bornemann2021-02-112-43/+0
| | | | | | | | | | This includes removal of the corresponding .prev_CMakeLists.txt files. Pick-to: 6.1 Task-number: QTBUG-88742 Change-Id: I57922bff138258f5b35d484caa4b00d84e924a06 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* CMake: Regenerate projects to use new qt_internal_ APIAlexandru Croitor2020-10-011-2/+2
| | | | | | | | Modify special case locations to use the new API as well. Task-number: QTBUG-86815 Change-Id: I2ba7753b64f3d88332e919dc90c98e252e20dd98 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Support wl_surface.damage_bufferPaul Olav Tvete2020-07-072-3/+7
| | | | | | | | | Add compositor support for wl_surface.damage_buffer requests. This also required updating wl_compositor to version 4. Fixes: QTBUG-74927 Change-Id: I887ed04e60fe14ecce7df6a517950b0091e2ad54 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Remove deprecated codeEskil Abrahamsen Blomfeldt2020-07-071-48/+0
| | | | | | | | | | | | | | | | | XdgShellv5 and XdgShellv6 have been deprecated in the compositor since 5.15, and wl-scaler since 5.13. These are now removed. Since the qwindow-compositor has not been updated for a long time, it depends on the outdated protocols. This change removes it, since it no longer represents best practices. This means we will be missing a proper C++-based compositor for now, so we will have to create a new one later. Change-Id: Icc6ef97c17e553f266c4145abeef26ddd631d6bf Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Use QList instead of QVectorJarek Kobus2020-06-081-2/+2
| | | | | | Task-number: QTBUG-84469 Change-Id: I4bc7b2eb2913fc828f09f96e21480b76cabf8656 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.15' into devLiang Qi2020-04-291-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/client/xdgoutput/tst_xdgoutput.cpp Regenerated CMake projects. Removed duplicate wayland source in tests/auto/client/xdgoutput/xdgoutput.pro. It's still referenced via the included shared.pri file. Regenerated the CMake project to adapt to that. Otherwise the CMake project fails to configure due to duplicate rules with a error like the one below CMake Error at src/compositor/Qt6WaylandCompositorMacros.cmake:13 (add_custom_command): Attempt to add a custom rule to output tests/auto/client/xdgoutput/wayland-xdg-output-unstable-v1-server-protocol.h.rule Also use a workaround fix for configuring CMake standalone tests due to regression introduced by dd7e40b1086020f6a054957f4972720cd684 in qtbase. Change-Id: Ib364b851a1fa828c153efbf8653c9e4ef5e618cd
| * Update connects to QSocketNotifier::activatedMårten Nordheim2020-04-211-1/+1
| | | | | | | | | | | | | | | | | | | | The int-overload will in some cases truncate the descriptor. So it's being replaced. On Linux it won't truncate, so the slot can stay as int, but we still update which signal to connect to. Task-number: QTBUG-70441 Change-Id: I516a453c381e8d29464febabfd69c788e58db5fe Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | CMake: Regenerate and adjust projects after mergeAlexandru Croitor2020-03-261-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some of the changes that were needed - adjusted wayland macros due to changed target names for plugins - a few direct moc file includes, to get rid of compilation errors - Threads::Threads linking for a few tests - a few special cases for QT_FOR_PRIVATE handling because pro2cmake doesn't handle those correctly at the moment (they map to PRIVATE_MODULE_INTERFACE rather than PRIVATE_LIBRARIES) - just regenerating all projects Change-Id: I418ce91b1c69c7388d41eb22b94a93a9e80fa732 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge remote-tracking branch 'origin/dev' into wip/cmakeAlexandru Croitor2020-03-261-8/+0
|\ \ | | | | | | | | | Change-Id: Ia76896a4d06240ccc3d95ba478b6ce273c7a0be2
| * | Merge remote-tracking branch 'origin/5.15' into devSimon Hausmann2019-10-311-1/+6
| |\| | | | | | | | | | | | | | | | | | | Conflicts: src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.cpp Change-Id: I42733f5ad9429a5d2ff6c804eb1f3f2d50f50811
| * | Compositor: Remove deprecated QWaylandSurface::sizeJohan Klokkhammer Helsing2019-10-031-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Compositor] WaylandSurface.size referred to size in buffer (not surface) coordinates which was confusing and has now been removed. Use the bufferSize or surfaceSize properties instead. Change-Id: Id435b58237e0425b241584f3d2e6ae04b534413d Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | Initial CMake portJohan Klokkhammer Helsing2019-11-262-0/+48
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The client, compositor, tests, plugins and examples now build. There are still a few minor issues: - The protocol source generation is a bit hacky. - The tests for checking if building CMake projects don't work anymore as they have Qt 5 specific code. They have just been commented out for now. Fixes: QTBUG-78177 Change-Id: Ie17cb05f0cdbd5b098970ce765adaeccf61a8fde Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CMake Build Bot
* | Merge remote-tracking branch 'origin/5.13' into 5.14Johan Klokkhammer Helsing2019-10-211-1/+6
|\ \ | |/ |/| | | | | | | | | | | Conflicts: src/client/qwaylandwindow.cpp tests/auto/compositor/compositor/tst_compositor.cpp Change-Id: Iacfcae577a4a99c847694ae3a2c6e3e9ae050817
| * Fix build: Use temporary directories for tests' XDG_RUNTIME_DIRJohan Klokkhammer Helsing2019-10-141-1/+6
| | | | | | | | | | | | | | | | | | Using XDG_RUNTIME_DIR="." does not work after qtbase 5542785, and it was a rather brittle solution anyway. Fixes: QTBUG-79185 Change-Id: Iaf9ced66709cc6cbac8a2d54efc64e1a8c528561 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-09-241-0/+1
|\| | | | | | | | | | | | | Conflicts: sync.profile Change-Id: I6f6d44ec285d37e64e430303ef9a87ac7aaf3eb9
| * Mock client: Add missing include for QMapJohan Klokkhammer Helsing2019-09-211-0/+1
| | | | | | | | | | | | | | Task-number: QTBUG-78177 Change-Id: I123e129f09ce8599e68be710147b07235ae9462a Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Compositor: Expose QPointF version of inputRegionContainsJohan Klokkhammer Helsing2019-09-161-0/+5
| | | | | | | | | | | | | | | | | | QWaylandSurface::inputRegionContains(const &QPointF) was added in a patch release. Expose it here and start testing it. Task-number: QTBUG-77457 Change-Id: I9e5e487e1d93a2b1873a7e219eed9ef6b0a418b5 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Compositor: Add xdg-output unstable v1 supportPier Luigi Fiorini2019-08-266-3/+224
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We already have a client-side implementation in the QPA plugin, and now we add the server-side implementation. In order to have a nice declarative API, we let users create a XdgOutputV1 instance and then associate it with the zxdg_output_v1 object when it is requested by the client. If the user forgets to create XdgOutputV1 beforehand we post an error to the client. To anticipate protocol version 3, we send zxdg_output_v1.done when we send wl_output.done. The multi-output example is extended using this protocol. [ChangeLog][Compositor] Added support for xdg-output unstable v1 Wayland extension. Change-Id: I1ec5913d8330cc01d7d634d05a289f4dc8b4fd22 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Remove usages of deprecated APIsSona Kurazyan2019-08-201-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Make the code related to deprecated QWaylandWlScaler compile conditionally, only when QWaylandWlScaler is enabled. - Replace the usages of deprecated APIs by the corresponding alternatives. - Fix the tests to compile when the deprecated APIs are disabled. Task-number: QTBUG-76491 Task-number: QTBUG-76541 Change-Id: Ieba98858e970868a2cbc97df2d06bae346e30d7a Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Add compositor test for pixel formatsJohan Klokkhammer Helsing2019-08-171-16/+46
| | | | | | | | | | Change-Id: I08072c03f7283fae16294b8c9dd6df0c12d6496f Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Compositor: Add idle-inhibit unstable v1 protocolPier Luigi Fiorini2019-08-164-1/+56
| | | | | | | | | | | | | | | | | | | | Allows disabling of screen blanking on a per-surface basis. [ChangeLog][Compositor] Added support for idle-inhibit unstable v1 Wayland extension. Change-Id: I3cd392f9e1bb3604691f2a496579aad3b87383b6 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Compositor: Test output available geometryPier Luigi Fiorini2019-08-161-0/+17
| | | | | | | | | | | | | | Increase coverage by implementing a test for the available geometry. Change-Id: Idaba38043dadea69d7494ff9caa944e224e4c228 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Eradicate Q_FOREACH loops [1/2]: trivial casesMarc Mutz2019-05-211-3/+2
|/ | | | | | | | | | | | | | | In this patch, we port Q_FOREACH loops to C++11 ranged-for loops. All cases are trivial in the sense that either the argument is already const or is trivially marked as const, either by qAsConst(), or, in the case of rvalues, by storing to a const auto temporary first. In addition, all loop bodies are clear enough to confirm that the container we iterate over is not changed under iteration. This does not exclude cases where a loop is prematurely exited just after calling a modifier on the container, as that is safe, if not especially elegant. Change-Id: I87a63f07797437d421567d60e52305391a3c4f21 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Remove tst_WaylandCompositor::keyboardGrab from blacklistJohan Klokkhammer Helsing2019-04-261-2/+0
| | | | | | | | | | | | It's not clear to me why it was failing in CI on Ubuntu 14.04 back in 2015. I can't get it to fail on my machine, and the linked logs in the bug report are no longer available. Let's try to remove the blacklist and fix it if it starts failing again. Fixes: QTBUG-45108 Change-Id: I7a73bdbcee2e544480af71db135ecd73122f747c Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* Compositor tests: Test xdg-shell stable instead of unstable v5Johan Klokkhammer Helsing2019-01-234-77/+104
| | | | | Change-Id: Ib9dbad2e7312dab94cecbc1a14315dcb47c8c46a Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* tst_WaylandCompositor::customSurface: Fix unused variable warningJohan Klokkhammer Helsing2019-01-211-0/+2
| | | | | | | Test custom surface destruction as well. Change-Id: Iad980858c3473e784cd0611136042bfacd09bddf Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Test output related signals from QWaylandCompositorPier Luigi Fiorini2019-01-182-4/+21
| | | | | | | | | | | | These signals were never tested, in fact there was a bug where outputAdded was not emitted if a new output was added with QWaylandCompositor::setDefaultOutput() that was fixed in 9875a14daaec12ca65d3cb4a2aaf2c4582e6191d. Also while we are here, set the default output for TestCompositor. Change-Id: I21c2ff2f51f52b38f2dc992bcc9c03fd3071e82d Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Compositor: Implement support for the viewporter extensionJohan Klokkhammer Helsing2019-01-024-5/+426
| | | | | | | [ChangeLog][Compositor] Added support for the viewporter Wayland extension. Change-Id: I1d33652fab6ff18da4ae1ae3497f0ca43517420a Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Merge remote-tracking branch 'origin/5.12' into devLiang Qi2018-12-222-5/+55
|\ | | | | | | | | | | | | | | Conflicts: README src/hardwareintegration/client/xcomposite_share/xcomposite_share.pri Change-Id: I7cbbf39916821f0f1749e3ccab3151f68f4aa1ac
| * Compositor: Fix crash in QWaylandSurface::waylandClientJohan Klokkhammer Helsing2018-12-221-0/+27
| | | | | | | | | | | | | | | | Adds a test for customSurface which crashed without the fix. Fixes: QTBUG-72688 Change-Id: I30c50e474379c61b90b2dd294eae9a7c88c105a2 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| * tests: minor fixup in tst_WaylandCompositor::comparingModes()Gatis Paeglis2018-12-091-1/+1
| | | | | | | | | | | | | | This patch amends d25b3b7f1059d5561bce3efe7ea903ea76d4e888 Change-Id: I413818f6cd4a77062287265f3bcb5db6170fc4d2 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * Fix invalid QWaylandOutputMode comparison operatorJędrzej Nowacki2018-12-061-0/+23
| | | | | | | | | | | | Fixes: QTBUG-72288 Change-Id: I61fde92ea4275febbb4ec8c067280a4ca570d7c1 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * use new feature name xkbcommon_evdev -> xkbcommonGatis Paeglis2018-12-052-5/+5
| | | | | | | | | | | | | | | | | | The xkbcommon configure logic was refactored in qtbase/c3a963da1f9e7b1d37e63eedded61da4fbdaaf9a. For more details see the relevant commit. Change-Id: Ic1aa26846ab8266c589f6e92dc8b81aba36df58a Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Compositor: Fix coordinate system inconsistenciesJohan Klokkhammer Helsing2018-11-161-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several properties were using pixel coordinates and surface coordinates without converting. [ChangeLog][Compositor] QWaylandSurface::destinationSize has been added which returns the size of the surface that will be displayed on the screen in surface coordinates. [ChangeLog][Compositor] Fixed a bug where QWaylandSurface::inputRegionContains would return true for some points outside surfaces with buffer scale > 1. [ChangeLog][Compositor] Fixed a bug which caused ShellSurfaceItems for surfaces with buffer scale > 1 to move too much when resizing interactively. It also gets rid of all calls to QWaylandSurface::size, which confusingly returns the size of the surface's buffer in pixel coordinates. Most properties now use destionationSize's surface coordinates consistently. Hopefully, QWaylandSurface::size can be renamed or removed in Qt 6. Change-Id: I007256a8df7759cf74fbfd51624fa1f90c083336 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-10-202-3/+73
|\| | | | | | | Change-Id: I36baa27b69b755f81de9cda94113d338f06c34a1
| * Compositor: Emit signals after applying pending surface statev5.12.0-beta3Johan Klokkhammer Helsing2018-10-182-3/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Compositor] Fixed a bug where some signals on QWaylandSurface were emitted before all double buffered state had been applied. Restructures QWaylandSurface::commit so no signals are emitted until all state mutations are completed. Adds a test to confirm that pending state is applied at once. Also fixes opaqueRegion, which is documented to be double buffered as well, but the old implementation set it immediately. Change-Id: I1c4dfea7c83dd9ee84dc8c03e6d92e2924bf2fad Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Don't include system versions of wayland protocolJohan Klokkhammer Helsing2018-10-036-5/+6
|/ | | | | | | | | | | | | | | | | | | | | wayland-client.h and wayland-server.h includes protocol generated for the version of wayland.xml corresponding to the libwayland version. This becomes a problem when we want to support a version of wayland.xml that's newer than the system libwayland. The solution is to include wayland-client-core.h and wayland-client-server.h instead. These headers don't include any wayland-scanner generated code, so we can safely compile and link code generated against the version of wayland.xml that we ship. [ChangeLog] Code generated by qtwaylandscanner now includes wayland-client-core.h and wayland-server-core.h instead of wayland-client.h and wayland-server.h. This might break source compatibility for code using custom wayland extensions. Fixes: QTBUG-70553 Change-Id: Ice0cdb60ecc4f936acc0e158b96f7978549f62c1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Compositor: Test empty and nullptr input regionsJohan Klokkhammer Helsing2018-09-261-1/+22
| | | | | Change-Id: Iddcf6cbddd74dc41d8c14b1da06f7e320de774b4 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Compositor: Add test for wl_surface::set_input_regionJohan Klokkhammer Helsing2018-09-261-0/+35
| | | | | Change-Id: I9b110647c054c897fa2a6d6fc6f392c981845f09 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>