summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Use proper line spacing for font testPaul Olav Tvete2015-06-301-3/+3
| | | | | | | Since we're making things look pretty :) Change-Id: Ibc2e5f7315b9ecf789b8c7cdbf100632b9a2b4c0 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* Fixup screens display.Morten Johan Sørvig2015-06-291-3/+5
| | | | | | | | | | | Support cases where one or more screens have negative positions. Make the text size a (constant) fraction of the painted screen rectangle height. Change-Id: Iea39aa49281cfe2b97c3e9b2414ee5db6dfe1fbb Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* Fonts manual test: print useful text.Morten Johan Sørvig2015-06-291-2/+2
| | | | | | | Mention if this is point or pixel sized text. Change-Id: I9996bca8370e2822a14e8090b64da2d21b40e98e Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* Handle closeEvent() properlyPaul Olav Tvete2015-06-291-7/+29
| | | | | | | ...just because we can. Change-Id: I72fcb05711c3b5ecee250fdf0adfc0b8304590cb Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* Show initial scale factorsPaul Olav Tvete2015-06-291-28/+52
| | | | | | | | | | Initialize the sliders to the currently active factors. ...and fix up the layout so the sliders align properly, and aren't squashed when resizing. Change-Id: I37ef853b0fd5a26939134da7116778f898f52a88 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* Manual test for physical sizesPaul Olav Tvete2015-06-291-0/+131
| | | | | Change-Id: Ic312bff631380fa5b40b927b092eb17940026b94 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* Add global scale option to manual testPaul Olav Tvete2015-06-171-29/+51
| | | | | | Change-Id: I24e019a4a960425028c982dcc94d82643c836003 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* Make testInputEvents not use QWindowSystemInterfaceMorten Johan Sørvig2015-06-091-5/+2
| | | | | | | | Use QTestLib instead, which will handle the QHighDpi coordinate scaling. Change-Id: Ib2ab9c6edfa6ffbf594ab6251c4b0b83f9581d6c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Simplify tst_qwindow::positioning()Morten Johan Sørvig2015-06-091-2/+2
| | | | | | | | | | | | platformScreenForWindow() is currently implemented as: return window->screen()->handle(); Use window.screen() directly and avoid the QHighDpi conversion call. Change-Id: I0f6487efc4d1494813179665b21150f3ca7a8666 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* Merge remote-tracking branch 'qt/dev' into dev-highdpiPaul Olav Tvete2015-06-09167-3345/+6963
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qsimpledrag.cpp src/gui/kernel/qwindowsysteminterface.cpp src/gui/kernel/qwindowsysteminterface_p.h src/plugins/platforms/xcb/qxcbwindow.cpp Change-Id: Icd887552ade61d6a2b2527383970f7145aa00faf
| * Remove exec bits from files that should not be executableDmitry Shachnev2015-06-0746-0/+0
| | | | | | | | | | | | | | Change-Id: I66f49c6db82eadc3b11cc9b1cf01375e9596a8e6 Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Mark Brand <mabrand@mabrand.nl>
| * Make the test pass on high res mac displaysLars Knoll2015-06-061-2/+2
| | | | | | | | | | Change-Id: I05f156faae85abe11edc954dd358ddfcfd320c74 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Wait for the window being active before sending it eventsLars Knoll2015-06-061-0/+1
| | | | | | | | | | Change-Id: I2f5d6e37e630d70c4ba3ae81e807a89c447c8b26 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Fix the autotest on MacLars Knoll2015-06-061-1/+1
| | | | | | | | | | | | | | Don't hit the scrollbar with the mouse click Change-Id: Ie82d8c5c058df9a482e7d5de2fe40681572f19ad Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Fix qgraphicswidget::initStyleOption autotestLars Knoll2015-06-062-14/+6
| | | | | | | | | | | | | | make sure it'll work with the new mouse handling as well. Change-Id: Ia2d567e618b77b0fa3532ee6c335cbdf5e496241 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Clean up the qgraphicsscene autotestLars Knoll2015-06-061-22/+5
| | | | | | | | | | Change-Id: I8950a3eb9792dff90ed64cd3bf1d572745b05886 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Manual touch test: Add gestures.Friedemann Kleint2015-06-061-13/+236
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add command line options for - Grabbing gestures - Suppressing mouse and touch events Add gesture events to the log. Add a hierarchy of gesture classes storing the parameters of finished gestures with drawing functionality and implement for pan and swipe. Task-number: QTBUG-46195 Change-Id: I019fe5b60116316a54e11b2c30e1d34f5e72bcf0 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| * Fix tst_qglobalstatic on OS XSimon Hausmann2015-06-041-0/+21
| | | | | | | | | | | | | | | | | | | | OS X has an unreasonably low default for the maximum number of open file descriptors (256). The unit test creates about 200 threads and each thread in Qt creates at least two file descriptors (pipe), so the test cannot execute. Change-Id: I656367bca6d0a40fb1edb8c72914304db0f429ac Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * Merge remote-tracking branch 'origin/5.5' into devSimon Hausmann2015-06-0398-3250/+6183
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qnamespace.qdoc src/corelib/io/qwindowspipereader.cpp src/corelib/io/qwindowspipereader_p.h src/corelib/statemachine/qstatemachine.cpp src/corelib/statemachine/qstatemachine_p.h src/plugins/platforms/xcb/qxcbconnection.h tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp tests/auto/tools/qmake/tst_qmake.cpp tests/manual/touch/main.cpp Change-Id: I917d694890e79ee3da7d65134b5b085e23e0dd62
| | * Polish and stabilize tst_qtooltip.Friedemann Kleint2015-06-021-26/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Implement init() and cleanup() to verify that no top level widgets are leaked. - Position widget in tst_QToolTip::task183679() and set window title. - Remove hardcoded wait in tst_QToolTip::whatsThis() and use a find function within QTRY_VERIFY(). - Rearrange and clean code a bit. Change-Id: I0b1ad88444fc9441c1071a2527f75de1f68ea9e5 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| | * Stabilize tst_qtouchevent.Friedemann Kleint2015-06-012-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Use QTRY_COMPARE() in touchBeginWithGraphicsWidget. - Change raw event translation tests to wait for the window to become active to avoid WM positioning issues. - Blacklist the raw event translation tests on Linux. Task-number: QTBUG-46266 Change-Id: I73aae375ee279a518a2a083d0ce8919cce474cb3 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| | * moc: Fix crash parsing invalid macro invocationOlivier Goffart2015-05-301-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When invoking a macro with less argument than it expect, we would crash trying to access the vector of arguments from the invocation as we are trying to substitute an argument. (Note that we do not show an error in case of argument mismatch because ithat might happen parsing valid code as moc's c++ parser is not 100% accurate (that was QTBUG-29331)) Task-number: QTBUG-46210 Change-Id: I3f08d7f5049e593a5bdc02a594ea63cadf66e7a4 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
| | * Reanimate test gui/kernel/qtouchevent/tst_qtouchevent.Friedemann Kleint2015-05-292-164/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add CONFIG += testcase to the .pro file which was missing. The test thus was never executed by make check and left to rot. Fix up code: - Remove module includes. - Introduce explicit constructors taking parent object for helper classes, removing calls to setParent(). - Ensure test does not leak objects by converting pointers to stack variables or introducing QScopedPointer, verify by checking for an empty window list in cleanup(). - Simplify code by removing unneeded variables. - Split up conditions in QVERIFY(). Fix tests: - Show windows were required when events are sent to QWidget::windowHandle(). - Invert the conditions checking whether touch events are accepted by widgets since widgets no longer accept them by defaults in Qt 5 after e50416066cab4be7df8382bd224d9e4ddd7a903a. - XFAIL multiPointRawEventTranslationOnTouchPad() which started to fail at some point in Qt 5. - Mark as insignificant on OS X due to crash. Task-number: QTBUG-46266 Change-Id: I6676d021afb015411a24d97d9b8f7c327d4d3c3f Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| | * tst_QDockWidget::restoreDockWidget: Add QSKIP for XCB.Friedemann Kleint2015-05-291-0/+2
| | | | | | | | | | | | | | | | | | | | | The positioning test has been observed to fail on X11. Change-Id: I58727126a8742de93ec203e9992a9ae1b454f731 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| | * tst_QApplication - quitOnLastWindowClosed (fix for OS X)Timur Pocheptsov2015-05-271-14/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Two (?) tests can fail: what they actually try to test is that our application quits on the second single shot timer (2 s. timeout) and not on the first one (timeout 1 s.) - on the first timeout we either ignore event, or we still have another window and should not quit yet, on the second timeout we actually do quit the app. The test checks this in a quite fragile way, counting the number of timeouts for the third 100 ms timer. It looks like on OS X (VM-only) there is some delay (~500-600 ms) before we receive the first timeout so the count is always 14 or less, making the test to fail. Change-Id: I9e8728e6c956025d91528f4195982767a5d3d320 Task-number: QTBUG-46164 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
| | * Remove test other/baselineexample.Friedemann Kleint2015-05-273-160/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | baselineexample.pro is missing CONFIG += testcase, so, make check succeeds without doing anything. The test seems to connect to some network server to retrieve baseline images, but that infrastructure apparently no longer exists. Change-Id: I98f4fe5ef8a508fda90e408df2781a944eb99a60 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| | * Fix crash due to QTreeView accessing deleted model indexes.Joerg Bornemann2015-05-271-0/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QTreeViewPrivate::updateScrollBars depends on a correctly set up viewItems vector. If a delayed layout is pending, we must call QTreeViewPrivate::executePostedLayout before accessing any stored model indices. Task-number: QTBUG-45697 Change-Id: I55fcbaf81f225b26181c2cf739283740b85dd16a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | * QMetaType: Fix compilation with non default constructible Q_GADGETOlivier Goffart2015-05-272-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not try to automatically register the meta type for Q_GADGET that are not default constructible. This fixes a source incompatibility in the function pointer syntax of QObject::connect when such types are used as an argument of a signal. Task-number: QTBUG-45721 Change-Id: I3065f6d57bc1f37e16988d2dee99118de250ca56 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Tests: Use blacklist for failing tst_qwidget testsCaroline Chao2015-05-262-2/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the insignificant_tests CONFIG option in favor of a BLACKLIST file. The tests blacklisted have been found using CI builds logs. Change-Id: Iffc9043654a9dcd97d55e262011c8daff6f4e60f Task-number: QTBUG-25300 Task-number: QTBUG-45502 Task-number: QTBUG-46325 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
| | * take process name into account for QLockFile's pid clash resolutionJoerg Bornemann2015-05-261-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To cover the situation that the process ID got reused, the current process name is compared to the name of the process that corresponds to the process ID from the lock file. If the process names differ, the lock file is considered stale. [ChangeLog][QtCore][QLockFile] Detection of stale lock files got more robust and takes the name of the process that belongs to the stored PID into account. Task-number: QTBUG-45497 Change-Id: Ic3c0d7e066435451203e77b9b9ce2d70bfb9c570 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: David Faure <david.faure@kdab.com>
| | * Make sure we don't call dbus_connection_can_send_type on too old libdbusThiago Macieira2015-05-261-9/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This function was introduced alongside the support for Unix file descriptors, so it's a good indicator of whether Unix FDs are supported. Ever since dbus_minimal_p.h, however, DBUS_TYPE_UNIX_FD may be defined even if the system libs don't support it. In order to fix this issue, I had to fix what was apparently a merge conflict resolution mistake and remove the #ifdef around the test. Doing the latter is a good idea due to moc being unable to find <dbus/dbus.h>. This was tested with both linked and dynamically-loaded libdbus-1. Task-number: QTBUG-46199 Change-Id: I66a35ce5f88941f29aa6ffff13dfb4b5438613a3 Reviewed-by: Jani Vähäkangas <jani.vahakangas@theqtcompany.com> Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
| | * QMetaType: Do not automatically register types that derives from a Q_GADGETOlivier Goffart2015-05-231-0/+2
| | | | | | | | | | | | | | | | | | | | | Otherwise the type is registered with the wrong name Change-Id: I68ec3a05e2528816626e648b46ccc9d70b004866 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| | * Make warnings of QIODevice more verbose.Friedemann Kleint2015-05-234-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Include class name, object name and file name when available. For the bug in question: QIODevice::read: device not open becomes QIODevice::read (QTcpSocket, "QFtpDTP Passive state socket"): device not open Adding a static function also makes it easier to set a breakpoint and find the culprit. Task-number: QTBUG-46112 Change-Id: Ic181d8ab292912d1acbcc3cb84d9679fe4842ca0 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
| | * Blacklist tst_qwindow tests that are failing on Ubuntu 14.04Simon Hausmann2015-05-221-0/+6
| | | | | | | | | | | | | | | | | | | | | This should allow us to make the rest of 14.04 enforcing Change-Id: I37f6751e8b966b047d1bd2e49ba9482e5846acb1 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
| | * Add CONFIG += testcase to test qglobalstatic.Friedemann Kleint2015-05-221-0/+1
| | | | | | | | | | | | | | | | | | | | | Otherwise, make check does nothing, always succeeding. Change-Id: I0fe04697e02ab0f33cd9aebb550777e200c70804 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| | * Add debug operator for QTouchDevice.Friedemann Kleint2015-05-221-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Produces: QTouchDevice("", type=TouchScreen, capabilities=Position|Area|NormalizedPosition|MouseEmulation, maximumTouchPoints=10) Remove operator from manual test. Change-Id: I6b792665031902d5f822c80807a400a334c27526 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| | * remove now redundant testsOswald Buddenhagen2015-05-2026-821/+0
| | | | | | | | | | | | | | | | | | | | | the functionality is now covered by the qmakelib test. Change-Id: Id627f573fb247ff3b86558509e27b6a9862c1a59 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| | * add qmake evaluator testOswald Buddenhagen2015-05-2021-14/+2603
| | | | | | | | | | | | | | | Change-Id: I31b95daede5edef245dd1ba447f2937a0db34232 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| | * split parser test initializationOswald Buddenhagen2015-05-202-32/+62
| | | | | | | | | | | | | | | | | | | | | | | | the idea was to speed up optimized msvc compilation, but it didn't help. still, it's better structured that way. Change-Id: I4b2108d02a47ef8ef704b0b542b0f281bff20165 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| | * move parser test to a separate fileOswald Buddenhagen2015-05-204-1988/+2061
| | | | | | | | | | | | | | | | | | | | | for better structure. Change-Id: I16bd1ca245640e92ffe167241a5a565e7a550e1d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| | * add autotest for ProStringOswald Buddenhagen2015-05-201-0/+81
| | | | | | | | | | | | | | | | | | | | | also adds documentation, which is kind of a sanity test. ehm. Change-Id: I6b520e8b505a2bfbb1e376fa72be0f140227a3a4 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| | * add parser tests for use of 'else' after bad conditionalsOswald Buddenhagen2015-05-201-0/+23
| | | | | | | | | | | | | | | | | | Change-Id: I9885f629a2f6511574eebd81896a1d9f258e55cb Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| | * silence MSVC warnings about using TS() without parametersOswald Buddenhagen2015-05-201-0/+5
| | | | | | | | | | | | | | | Change-Id: I23264dcabc02b89441fa47c890fc662e9a41f7ce Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| | * Fix compilation of QContiguousCache::operator=Thiago Macieira2015-05-201-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | freeData() takes a Data*, not a QContiguousCacheData*. Task-number: QTBUG-45783 Change-Id: I96d7ac38dac24b418138ffff13d7fdf09b1d6b07 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
| | * QStateMachine: empty the whole internal queue before external queueErik Verbruggen2015-05-191-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the internal queue contained multiple events, but the first one did not select any transitions, the external event queue would be checked before the remaining events in the internal queue. Change-Id: I1a7f49afdefaaf2b4330bf13b079b61344385ea0 Task-number: QTBUG-46059 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
| | * Fix QtPrivate::IsQEnumHelper<void>Olivier Goffart2015-05-171-0/+8
| | | | | | | | | | | | | | | Change-Id: I1633ef128212a6b99b66129f13e0b4d5ea46644d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * tst_QDialog::snapToDefaultButton - tune the test for OS XTimur Pocheptsov2015-05-151-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QCursor::setPos with Cocoa integration is calling CGEventPost. Some time is required before the cursor position is really set, so we can not immediately call QCOMPARE. Change-Id: I83a4c13f06ec151a4b9ab18c83de1eb5247ea9cc Task-number: QTBUG-45553 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com> Reviewed-by: Caroline Chao <caroline.chao@theqtcompany.com>
| | * Tests: Remove EXPECT_FAIL in tst_QWidget::widgetAt()Caroline Chao2015-05-151-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | The test is marked as XPASS in CI. This change follow 201bf9e6736a3. Change-Id: I0938b1417f792aa88fc1b40c08e7cd810e7d22f7 Task-number: QTBUG-22326 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| | * moc: Generate qt_static_metacall for creatable-only gadgetsGabriel de Dietrich2015-05-131-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to this, moc would not generate the function unless the gadget class had a property or a non-constructor invokable. Change-Id: Ic020ea5f8f59702f5e9e194a46e26850e53e5cfe Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | * moc: Fix type for gadget's CreateInstance metacallGabriel de Dietrich2015-05-131-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An error similar to the one below would be emitted by the compiler on the moc generated file: error: assigning to 'QObject *' from incompatible type 'Gadget *' if (_a[0]) *reinterpret_cast<QObject**>(_a[0]) = _r; } break; Change-Id: I75ae7bd6c46d20db2d47a80eaa08aae302d7d6c8 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>