summaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* QMacStyle - more pixel refinementsTimur Pocheptsov25 hours1-0/+18
| | | | | | | | | | | | There is 1 pixel of a rounded corner visible both on NSButton and NSPopupButton in a tab widget (all orientations) - adjust the rectangle for this. Pick-to: 5.15 Pick-to: 5.12 Task-number: QTBUG-86513 Change-Id: I5e203adc583d2fba6323b18328ccbc8b0c0666ea Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Windows QPA: Use a QSharedPointer for the touch deviceFriedemann Kleint3 days6-32/+27
| | | | | | | | | | For reasons of symmetry with the tablet devices. As a drive by, give it more distinct IDs. Task-number: QTBUG-46412 Change-Id: Ie667621246b26db6fdda84c5ff2455fe38633cb3 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* QMacStyle - fix tab renderingTimur Pocheptsov3 days1-1/+17
| | | | | | | | | | | In BigSur NSPopupButton, it would appear, is slightly different. But different enough so that a fragment of a disclose 'arrow' button became visible within the clipping region, making it appear as some blue strange thing in between inactive (non-selected) tabs. Task-number: QTBUG-86513 Change-Id: Ib03af48069056b5ecbb8b4afebd851005583293a Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* macOS: Remove alpha from default surface formatMorten Johan Sørvig5 days1-8/+1
| | | | | | | | | | | | | | | (This reverts commit 2ca1253b13e77643b3d2dd993a038ae2df882311). This allowed use to avoid backing store RGB -> RGBA conversions on the CPU back before macOS was layer backed. The conversion should be GPU accelerated now, and we can return to the cross-platform default. In addition, RGBA backingstores requires filling with transparent pixels on each paint event, which causes increased CPU usage - often for no reason if transparency effects are not used. Change-Id: Ic795128b7e474b63f44f9f4f3526d0b205652e62 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix QSaveFile always failing on content: URLsVolker Krause6 days1-2/+9
| | | | | | | | QSaveFile needs QFileInfo::isWritable() to work, which 7e5f38aec667 caused to always return false for content: URLs. Change-Id: If839331e4bd176765ed242791cb253c2064f5f6d Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Deprecate QVariant::TypeLars Knoll6 days8-332/+329
| | | | | | | | | It's been obsolete for a long time already. Make sure the compiler now warns about it and remove all remaining uses in qtbase. Change-Id: I0ff80311184dba52d2ba5f4e2fabe0d47fdc59d7 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Export gbm device integration to build it outsideElvis Lee6 days37-109/+275
| | | | | | | | | | | Support external build for device integration which uses kms and gbm. QKmsScreenConfig supports inheritance to consider platform specific screen configuration. Task-number: QTBUG-85268 Change-Id: Iac58898a9cf0bb1d53237a719667a6ebd53d88b9 Reviewed-by: Elvis Lee <kwangwoong.lee@lge.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Make QPointer comparisons hidden friendsAllan Sandfeld Jensen6 days1-1/+1
| | | | | | | Reduces ADL noise. Change-Id: Id0aa4b32b7bb6d70ed9106b949452d895d9060a9 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* CMake: Check for system_xcb_xinput featureAlexandru Croitor6 days1-1/+1
| | | | | | | | | | | | | | When compiling the xcb qpa plugin we should check the value of the 'system_xcb_xinput' feature to decide whether to use the system library or the bundled one, instead of checking for the existence of the XCB::INPUT target. This fixes -DINPUT_bundled_xcb_xinput=yes aka -xcb-native-painting to influence what gets built into our release Linux packages. Task-number: QTBUG-86053 Change-Id: I78c5eaacb7b6bd6e46afea49189e6111e198fb27 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* name our glib event sources to ease debuggingAndreas Buhr7 days1-2/+3
| | | | | | | | | | | glib event sources can have a name, but it is not required. Internal to glib, it is common to give them a name, see for example https://git.io/JTZ8g . This patch gives a name to each glib event source created in qtbase. Task-number: QTBUG-84291 Change-Id: I4f04526dcec082242312e3a66da2adf37a22e626 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* [Android] Make sure expose events are emitted after window resizePiotr Mikolajczyk8 days2-6/+2
| | | | | | | | | | | | Expose event would not be sent when window was resized Fixes: QTBUG-69155 Pick-to: 5.15 Change-Id: I81bf2d54f830a0dabf15398e1f25b55ff7ff4479 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Rami Potinkara <rami.potinkara@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
* Windows QPA/WmPointer: Register tablet devices of pointer handlerFriedemann Kleint9 days2-13/+64
| | | | | | | Task-number: QTBUG-46412 Change-Id: Ib9b5fd6056a5474ce46c7bde53be7a12c1494611 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Windows QPA/wintab: Register tablet devicesFriedemann Kleint9 days2-117/+231
| | | | | | | | | | | | | | | | Inherit a class from QPointingDevice with a shared pointer to the data for a physical cursor. As a drive-by, keep the event time in QWindowsTabletSupport for leave proximity events that do not have a time associated. The previous code was relying on QWindowSystemInterface for this, which may be at odds with the tablet's time. Refactor and streamline the code a bit. Task-number: QTBUG-46412 Change-Id: I2f4fab25a49a9d9f1befbd7fc040e8eb23be71ff Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QWindowsXPStyle: Remove unused variablesTor Arne Vestbø9 days1-2/+0
| | | | | Change-Id: Ide3880114bf8d779571b7cf1235ae95524950e5d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* QPA offscreen: make platform plugin configurableMorten Johan Sørvig9 days7-20/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add ability to load a json config file containing screen configuration at startup. The config file location is specified using platform options: -platform offscfreen:configfile=/path/to/file Config file format example: { “screens”: [ { "name", "screen-1", "x", 0, "y", 0, "width", 640, "height", 480, "dpi", 96, "dpr", 1, }, … ] } Change-Id: Iac21aaafa6d0f361bdd6f6e9168b7e68db6ae011 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* MinGW: Fix static direct2d plugin build using PCHCristian Adam12 days1-0/+6
| | | | | | | | | | | | | Ammends 27499d25fb6d5b12ee6f97f5a6bedcde53b2dcee The value used to create the PCHs for _WIN32_WINNT is 0x601, and qwindowspointerhandler.cpp requires for MinGW 0x603. Since the precompile header value cannot be undefined while compiling the source file, it's better not to use the PCH for this particular source file. Change-Id: I2dc10fa11f0a796c2d21d8880e32e911359f1602 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix the initial cursor state for the VNC pluginMagnaboscoL12 days1-1/+4
| | | | | | | | | Ensure that we show a cursor directly after a client connects. Fixes: QTBUG-85006 Pick-to: 5.15 Change-Id: Icb604beb1b0ca2e7efa42ac01c2aac0a3e002865 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Cleanup remaining QVariant::Type uses in Qt SqlLars Knoll12 days1-23/+23
| | | | | Change-Id: Ibcaa678cd9f9c957392a75b477fa6821f9a69127 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Remove misleading commentTimur Pocheptsov13 days1-6/+0
| | | | | | | | NSSegmentedControl is not of much use for us, due to different problems it shows when rendered. Change-Id: I57be237b33c226d0a84d18c76a4bffb92cea5274 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix Qt6 renamingBogDan Vatra2020-10-142-5/+11
| | | | | | | Fixes sha: 1907599bfd817e00c7f42b8cb941ebf93a098e7f Change-Id: I20ece75c321835f13a605ae4d56fee1a034ca7c8 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Remove dead codeLars Knoll2020-10-122-4/+4
| | | | | | | This code has been deprecated in Qt 5. Change-Id: Ia8e0bc791ac1f43df7124b4f30db3d0bb9966015 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Enable the Android style plugin for the cmake buildLars Knoll2020-10-122-1/+21
| | | | | | Change-Id: Ie6a82c47c92067fb22270891bb81cd75ed3c9212 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* FileChooser portal: skip empty filters to avoid rejection from portalsJan Grulich2020-10-121-0/+5
| | | | | | | | | | Xdg-desktop-portal will reject any OpenFile request if there is an empty filter. We will just simply skip it to avoid the rejection so users get a file dialog. Pick-to: 5.15 Change-Id: I85c056f46b22cdbc9e14010bc3c49206b6f8f002 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* MinGW: Fix static build using PCHCristian Adam2020-10-091-0/+6
| | | | | | | | | | | | | | | | | | The value of NTDDI_VERSION is computed from _WIN32_WINNT. It makes sense to keep these two in sync. The value used to create the PCHs for _WIN32_WINNT is 0x601, and qwindowspointerhandler.cpp requires for MinGW 0x603. Since the precompile header value cannot be undefined while compiling the source file, it's better not to use the PCH for this particular source file. These problems surface in a static build, in a regular build for some reason the PCH for plugins is not used. Change-Id: Id724490deb9c695ac00b26cd300f9d2382019ea2 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Windows Vista/XP Styles: Remove XP-specific codeFriedemann Kleint2020-10-091-410/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WindowsXPStyle cannot be instantiated via style factory since 5.0. The derived class QWindowsVistaStyle still uses much of its code, though. Remove the XP-specific code as determined by - Adding debug output with the enums added to WindowsXPStyle's functions - Run the widgets gallery example in Vista style - Run the widgets gallery example in XP style - From the lines not appearing in both logs (comm -3), remove the code present in WindowsXPStyle drawComplexControl() QStyle::CC_ComboBox drawComplexControl() QStyle::CC_ScrollBar drawComplexControl() QStyle::CC_SpinBox drawControl() QStyle::CE_ComboBoxLabel drawControl() QStyle::CE_HeaderSection drawControl() QStyle::CE_ProgressBarContents drawControl() QStyle::CE_PushButtonBevel drawPrimitive() QStyle::PE_FrameLineEdit drawPrimitive() QStyle::PE_IndicatorBranch drawPrimitive() QStyle::PE_IndicatorProgressChunk drawPrimitive() QStyle::PE_PanelItemViewItem drawPrimitive() QStyle::PE_PanelLineEdit sizeFromContents() QStyle::CT_SpinBox standardIcon() QStyle::SP_CommandLink standardPixmap() QStyle::SP_ArrowRight standardPixmap() QStyle::SP_CommandLink styleHint() QStyle::SH_Header_ArrowAlignment Change-Id: Ic6a19cabf39d1089328a7cb1afdc282a60a7cf21 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Another round of replacing 0 with nullptrAllan Sandfeld Jensen2020-10-0743-121/+121
| | | | | | | | | This time based on grepping to also include documentation, tests and examples previously missed by the automatic tool. Change-Id: Ied1703f4bcc470fbc275f759ed5b7c588a5c4e9f Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Rename the new platform APIs from QPlatformInterface to QNativeInterfaceTor Arne Vestbø2020-10-0727-42/+42
| | | | | | | | | | | | We were already using the 'native' nomenclature when referring to these kinds of APIs, e.g. when talking about native handles, or the existing QPlatformNativeInterface on a QPA level. Using 'native' for the user facing APIs also distinguishes them from the 'platform' backend layer in QPA and elsewhere. Change-Id: I0f3273265904f0f19c0b6d62471f8820d3c3232e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Rename Android offscreen surface interfaceTor Arne Vestbø2020-10-071-1/+1
| | | | | | | | The convention for these interfaces is to not have 'platform' in their name. Change-Id: I4af831861b58dcfc2538d4206788231b9ec3a766 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* WinTab: Switch stylus pointer type when the tablet is in the tablet proximityDmitry Kazakov2020-10-061-4/+21
| | | | | | | | | | | | | | | | | | | Some convertible tablet devices have a special stylus button that converts the stylus into an eraser. Such button can be pressed right when the stylus is in tablet surface proximity, so we should check that not only during proximity event handling, but also while parsing normal wintab packets. Make sure that we don't switch tablet pointer type while any **mapped** stylus button is pressed. Pressing the "eraser" button is reported in pkButtons, but it maps to none by CSR_SYSBTNMAP https://bugs.kde.org/show_bug.cgi?id=405747 https://bugs.kde.org/show_bug.cgi?id=408454 Pick-to: 5.15 Change-Id: I1d254f0cf79be6ceb194b1c4b314a11831f50170 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* WinTab: Fix updating tablet pressure resolution on every proximity enter eventDmitry Kazakov2020-10-061-0/+5
| | | | | | | | | | | | | The user can switch pressure sensitivity level in the driver, which will make our saved values invalid (this option is provided by Wacom drivers for compatibility reasons, and it can be adjusted on the fly). See the bug: https://bugs.kde.org/show_bug.cgi?id=391054 Pick-to: 5.15 Change-Id: I6cfdff27eaf5a587bf714871f1495a7ea150c553 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* macOS: Update slider metrics by explicitly asking it to layoutTor Arne Vestbø2020-10-061-33/+4
| | | | | | | Pick-to: 5.15 Pick-to: 5.12 Change-Id: I283771624b513f4e8844c6130898ddf2531df0f1 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Un-special-case macOS in handling of QKeyEvent::nativeScanCode()Tor Arne Vestbø2020-10-062-11/+17
| | | | | | | | | | | | | | | | | | | | | | | In the porting from Qt 4 to Qt 5 an assumption was made in QKeyMapper that the underlying platform implementation needed the native scan code to be able to resolve the possible keymaps for an event. As a result, the macOS platform plugin started sending key events with a fake native scan code of 1, so that it would still be allowed to map key events. Which in turn led to the documentation of QKeyEvent::nativeScanCode() getting an exception for macOS. Let's clean up this by removing the original assumption, and leave it up to the platforms to decide what information from the key event is needed. QKeyMapperPrivate::possibleKeys() will still call extractKeyFromEvent as a fallback if the platform layer doesn't return any possible keys. Change-Id: I122a45bcec658c45ccc0b2c0671eb264d85d7be6 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* macOS: Prevent mapping non-keydown events to charactersTor Arne Vestbø2020-10-061-13/+21
| | | | | | | | | | The [NSEvent charactersByApplyingModifiers:] API only supports key down events, but we might get into QCocoaKeyMapper::keyMapForKey for modifier key presses as well (even if QShortcutMap::nextState tries to filter out modifier keys). Change-Id: I02f163edac2baa9052f34b4d5d31b6a627d3d85c Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* xdgdesktopportal: properly fix a dangling pointerGiuseppe D'Angelo2020-10-061-6/+5
| | | | | | | | | | | | | | | | The previous fix didn't actually work, as it kept a reference into a container which could have been muted by the time the reference was going to be used. Use an index instead. Amends 32c09ea5b0f529418eece63de5c3b2c206f62896. Change-Id: Ib855b4a663c281467e46536b98a0ce2b961f19ee Pick-to: 5.15 Task-number: QTBUG-87143 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* EGLFS: Don’t compute logical DPI from physical sizeMorten Johan Sørvig2020-10-068-23/+26
| | | | | | | | | | | | | | | Remove code which computes logical DPI from the screen’s physical size. Return a DPI of 100 instead (this value was previously returned if the physical size was not available), and add a matching logicalBaseDpi() implementation which gives a device pixel ratio of 1. Task-number: QTBUG-87035 Change-Id: Ib20afbbd24fd6b57c8ffb2fd697f1becba283cba Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Remove QPlatformScreen::pixelDensity()Morten Johan Sørvig2020-10-056-22/+0
| | | | | | | | | This function is no longer in use - Qt Gui now computes scale factors based on logicalDpi() and logicalBaseDpi() instead. Change-Id: Ieb4b75ef4e1563694a8e12b7cdd1f60c419d5bf2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Windows QPA: Fix building with OpenGL disabled after "QFlags: remove ↵Martin Storsjö2020-10-051-1/+1
| | | | | | | deprecated constructor" Change-Id: Icf07bc475ba8f8f9cbe76169dc3dede9ba703292 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Change QString::fromLatin1 and friends to use QByteArrayViewLars Knoll2020-10-051-1/+1
| | | | | | | | | | | | Also adjust the QString constructor from QByteArray to ignore \0 characters in the string (and not terminate conversion there). [ChangeLog][QtCore][QString] Constructing a QString from a QByteArray will not stop at intermediate '\0' (null) characters in the string as in Qt 5, but will convert all characters in the byte array. Change-Id: I1f6bfefe76dfa9072b165903fec7aa4af1abd882 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* CMake: set default eglfs device integration pluginSamuli Piippo2020-10-051-1/+16
| | | | | | | | | Use QT_QPA_DEFAULT_EGLFS_INTEGRATION for setting the default eglfs device integration plugin, which can be overwritten at runtime using QT_QPA_EGLFS_INTEGRATION environment variable. Change-Id: I1c3ac0c58cdbbb7bb08c2f0ea5abe4d04eb8d61a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: enable egl_viv pluginsSamuli Piippo2020-10-053-2/+58
| | | | | | | | | Add needed define for egl_viv compile test and generate CMakeLists for the egl_viv plugins. Task-number: QTBUG-77809 Change-Id: I3b354faee36cbb85adcee895430eb5e8998108e1 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QFlags: remove deprecated constructorEdward Welbourne2020-10-032-6/+6
| | | | | | | | Fix remaining places that still exercised it. Task-number: QTBUG-85700 Change-Id: I84562f53439197141343831c0b9f88983689e6bf Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Android: rename Android's package name for Qt 6Assam Boudjelthia2020-10-036-14/+14
| | | | | | | | | | Rename Android package name org.qtproject.qt5.android to org.qtproject.qt.android to avoid inconsistency with Qt 6 name. Also, we include the major version number in the jar target. Task-number: QTBUG-86969 Change-Id: Ibb68947289be1079911b34ea157bf089cc52c47f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake Build: Add direct2d CMake buildCristian Adam2020-09-302-1/+278
| | | | | | | | | Also fixed Direct 2D feature detection test for MinGW. Task-number: QTBUG-83932 Change-Id: I8c89aaa953d34de40fdf7b51e0859c791aeb38ef Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Add logging categories to image handlersAllan Sandfeld Jensen2020-09-303-7/+17
| | | | | Change-Id: Ia0c47826d08b3f641c17d8a585f62d008a8b095b Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* QCocoaDrag - set image only on the first drag itemTimur Pocheptsov2020-09-281-2/+7
| | | | | | | | This image is already a combined image of all urls that we drag. Pick-to: 5.15 Change-Id: I8fe45f64a6022881320d100f8a6f4a25fcac73b9 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix compiler warnings from QKeyCombinationLars Knoll2020-09-281-2/+2
| | | | | | | | Change lots of code to avoid the deprecated operator+() or implicit casts to int. Change-Id: I0c343cd5b28603afdf1214eefb85e928313345e2 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Windows Vista/XP Styles: Clean up some codeFriedemann Kleint2020-09-265-67/+10
| | | | | | | | | Remove public constructor of QWindowsXPStyle since it cannot be instantiated via style factory since 5.0. Remove overridden functions that merely call the base implementation. Change-Id: I3b2998115c4ab65fabf3744874bc3a69a1f5e5b0 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* xcb: Avoid BadMatch error when creating non-OpenGL windowAlexander Volkov2020-09-251-13/+3
| | | | | | | | | | | The Xorg Server requires colormap when creating a window if the window's parent either has a different visual or has no colormap. To simplify logic and avoid extra requests, create a new window with colormap unconditionally. Pick-to: 5.15 Change-Id: I21a53f9146ae0a03b38bb3a07c8a478043a2eb89 Reviewed-by: Liang Qi <liang.qi@qt.io>
* CMake Build: Fix iOS build with PCH and CMake 3.18.3Cristian Adam2020-09-251-0/+8
| | | | | | | | | | If a target inherits precompile headers from a different target that has more languages enabled (CXX, OBJCXX), the target will depend on PCH artifacts for a language that is not actually present. Change-Id: I230f16ee59f2c524a30d41a487093343272722d1 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Windows: Build print support plugin directly into QtPrintSupportFriedemann Kleint2020-09-2411-1094/+0
| | | | | | Task-number: QTBUG-83259 Change-Id: I23042e1eb89d407692a96bfb2d6c4efdddbfb50f Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>