summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* doc: Clarify how to remove a QTextFrameEskil Abrahamsen Blomfeldt2016-05-041-2/+5
| | | | | | | | | | | The documentation wrongfully recommended deleting QTextFrames directly. This would cause a crash, since the destructor didn't update the document's layout at all. The correct way is the same as when removing other aspects of the document. Task-number: QTBUG-53082 Change-Id: I64f0ad08f1d063626456fa51d03611871ce6aa45 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Manual touch test: Add color for Qt::MouseEventSynthesizedByApplication.Friedemann Kleint2016-05-041-0/+3
| | | | | | | Fix a warning about a missing case statement. Change-Id: Ic89646704d62668cf83c463dbf6e9b549a4b5200 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
* Improve tst_qtimeline::setPaused resilienceJędrzej Nowacki2016-05-041-8/+7
| | | | | | | | The test should not depend on qWait explicitly Change-Id: I13c01c47c9f7bae8b0c30afa2ac8550dc0fbf028 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* Revert "egl: Reshuffle headers to help less fortunate systems with X11"Liang Qi2016-05-0418-83/+21
| | | | | | | | | This reverts commit ecf127505effbbf4dbfd1e7cb9561de5dae51bf2. ecf12750 breaks the build of qtwayland. Change-Id: If8bf04f035aa47e4e867d201ec7d95b0d3e18317 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* xcb: don't compress tablet motion eventsShawn Rutledge2016-05-043-8/+21
| | | | | | | | | | | | | | | 7edd10e6c added this compression feature, but it's not a good idea for drawing-tablet applications, because smooth drawing depends on receiving every movement of the stylus. Also show the device ID in qt.qpa.input.devices category logging. [ChangeLog][X11] The new X event compression feature that was added in 5.6.0 no longer applies to motion events from drawing tablets. Task-number: QTBUG-44964 Change-Id: Icd2ca8ca77d8f80c2f39160c74208db10e382501 Reviewed-by: Gatis Paeglis <gatis.paeglis@theqtcompany.com>
* Cocoa: Enable skipping Ctrl+LMB to RMB overrideGabriel de Dietrich2016-05-031-1/+5
| | | | | | | | | | This can be enabled with QT_MAC_DONT_OVERRIDE_CTRL_LMB=1 environment variable. The goal is to provide consistent cross-platform input when it's more desirable than full platform comformance. Change-Id: I3b96733077bd1c0367edeef21a98a44b15425807 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
* egl: Reshuffle headers to help less fortunate systems with X11Laszlo Agocs2016-05-0318-21/+83
| | | | | | | | | | | | | | | | | | | | | | | | EGL headers including X headers has traditionally been problematic due to getting macros for Status, None, etc. In most cases this is not an issue anymore because on embedded one will almost always use a driver targeting the framebuffer or DRM/KMS and therefore the EGL headers do not pull in X dependencies. Furthermore, Mesa supports MESA_EGL_NO_X11_HEADERS which we set, avoiding the problem altogether with Mesa regardless of targeting X11 or KMS. However, other drivers do not have this option. On i.MX6 for instance, targeting X11 is problematic due to not having EGL_API_FB defined, which in turn means the EGL headers pulls in X headers in order to be able to define the native display and window types as Display and Window. Try to play nice with this use case by reshuffling the includes and undefining the problematic names. Task-number: QTBUG-52928 Change-Id: I059f26b340b6e442e7296055915d18f5a1ce7a7f Reviewed-by: Louai Al-Khanji <louai.al-khanji@qt.io>
* QLinuxFbScreen: fix uninitialized member warningsEdward Welbourne2016-05-031-17/+13
| | | | | | | | | | | | | | Prompted by Coverity CID 11720 (allegedly recently new in dev but long-standing in 5.6). Even assuming the class is used correctly - test initialize() and only use if that succeeded - the destructor would have passed uninitialized arguments to munmap() and ioctl(). Noticed a double close along the way: it's been fixed on dev but should have been fixed in 5.6, too. Documented why ioctl() failure in switchToGraphicsMode() should at least do no harm. Change-Id: Ie26a9eefa435b5ff5b1a02e03e29469b8db72d3c Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Added a missing comma to the comment.Jesus Fernandez2016-05-031-1/+1
| | | | | Change-Id: Ia32c9b298dc35ccdd95d92550c06cff52f918ea1 Reviewed-by: Nico Vertriest <nico.vertriest@theqtcompany.com>
* Fix grammar in QSKIP documentationMitch Curtis2016-05-031-1/+1
| | | | | Change-Id: Ia57dd2c859ae5b025515c45593a7f89a1b7f28ff Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* fix example installsOswald Buddenhagen2016-05-0313-11/+25
| | | | | Change-Id: Ib34795f10b1d7120b28958127ced049af3b4f72b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* delete unreferenced fileOswald Buddenhagen2016-05-031-264/+0
| | | | | Change-Id: Ibc70cafdc098ff4f6036182d6f41a2debb15a996 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* install the opengl legacy examplesOswald Buddenhagen2016-05-031-0/+3
| | | | | | | | while they are not built, their sources should be installed as long we don't delete them completely. Change-Id: I5e628e96cc9715520cb6e5aadb2cae61d1d03a4f Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* fix build and installation of queuedcustomtype exampleOswald Buddenhagen2016-05-033-2/+6
| | | | | | | | it was not built at all (and didn't build with qt in a namespace), and consequently was not installed as well. Change-Id: I24d8ac4dd5d70927c262ad6336e5ee32a0fd003a Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* normalize structure of plugandpaint exampleOswald Buddenhagen2016-05-0324-103/+104
| | | | | | | | as in other examples which come with plugins, use an additional hierarchy level which contains the app and plugin subdirs. Change-Id: I2487755967aa3474c337c8c8af10be49627b63d0 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* automate the installation of some more example source filesOswald Buddenhagen2016-05-031-0/+5
| | | | | Change-Id: I61f9f4882c5a7743817059824250958f5ce4a603 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* QOpenGLCustomShaderStage - fix a memory leakTimur Pocheptsov2016-05-032-0/+4
| | | | | | | | Coverity found a memory leak - CID-10995. Fix a dtor + make copy constructor / assignment operator private (Q_DISABLE_COPY). Change-Id: I4f046d075b60fbfb69f350e4a4d8b07ea1643914 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Change some QNX defaultsJames McDonnell2016-05-031-0/+2
| | | | | | | | | | | | Make REDUCE_EXPORTS the default for QNX. This is what the Linux builds use. The Windows builds should too. Turn on ICU detection for QNX. QNX has ICU. Task-number: QTBUG-52578 Change-Id: Ie65c6ff03c4eecf361727b3b6026338f686d9749 Reviewed-by: Dan Cape <dcape@qnx.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Workaround Windows DLL unload issue with threads runningThiago Macieira2016-05-021-0/+35
| | | | | | | | | | | | We don't know why it happens, so let's apply a workaround. See the comment for more details. Task-number: QTBUG-53031 Change-Id: Ifea6e497f11a461db432ffff144972e892fbbda5 Reviewed-by: Roland Winklmeier <Roland.M.Winklmeier@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* tst_QTcpSocket, tst_QUdpSocket: Improve diagnostics.Friedemann Kleint2016-05-024-31/+65
| | | | | | | | | | Add more error messages on failures. Task-number: QTBUG-25367 Task-number: QTBUG-25368 Change-Id: I064143a058b7b98d9d5eecab8b5da49f5307e1eb Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Richard J. Moore <rich@kde.org>
* support directories in COPIESOswald Buddenhagen2016-05-021-4/+20
| | | | | | | | | | this makes it fully consistent with INSTALLS. note that this also removes the file name from the target path when copying files, also for consistency. Change-Id: I69042c9aa1e2cc81f8ff982343ba25688a04abfd Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* add some missing filename expandos to extra compilersOswald Buddenhagen2016-05-022-2/+10
| | | | | | | | | | | - QMAKE_FILE_IN_EXT as an alias for QMAKE_FILE_EXT, for consistency with QMAKE_FILE_IN_BASE - QMAKE_FILE_IN_NAME to make pairing _EXT/_BASE to get a full name unnecessary (finally ...), and make use of it - QMAKE_FILE_OUT_PATH, because i'll need it Change-Id: I3d91ddb84f9cce52a665d562da11d165c92550c8 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* ensure that QMAKE_FILE_{IN,OUT}_BASE are quotedOswald Buddenhagen2016-05-021-2/+2
| | | | | | | it's beyond me why they shouldn't be. Change-Id: I2493469636e4f196bfeb2eb00a691aeae0f1881d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* remove redundant OTHER_FILES assignmentsOswald Buddenhagen2016-05-024-7/+0
| | | | | | | | newer versions of qt creator understand QMAKE_EXTRA_COMPILERS and INSTALLS, so there is no need to list the files twice. Change-Id: Iccf3cc3248daf3422b8c366c2eb2d2f46c5f08d1 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* QNativeSocketEngine: fix build in debug mode under WindowsAlex Trotsenko2016-05-021-7/+9
| | | | | Change-Id: Id9b42f3d40b82ae6a8d581b0fbf6fd0b2ae589aa Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
* iOS: Report correct physicalSize and physicalDotsPerInch for iPhone6+Tor Arne Vestbø2016-05-022-7/+22
| | | | | | | | | | On iPhone 6(s) Plus devices, or when display zoom is enabled in an iPhone 6, the render buffer is scaled before being output on the physical display. We have to take this into account when computing the physical size. Task-number: QTBUG-50941 Change-Id: I318f3a866d039fccf0ba08f381fc9d8bcd676acd Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
* Fix underline position on Liberation MonoAllan Sandfeld Jensen2016-05-021-3/+6
| | | | | | | | | | Ensure we don't round a underline position beyond the descent in our eagerness to avoid underlines too close to baseline. Task-number: QTCREATORBUG-15851 Change-Id: I9a29447bbcb938b7e9fb29d52fd392a1340d07c5 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Fix QFile::copy() on WinRT.John Preston2016-05-021-2/+3
| | | | | | | | | | Implementation of QFileSystemEngine::copyFile() uses CopyFile2() as if it is CopyFile() function, but CopyFile2() returns HRESULT, not BOOL. So the success should be checked by "SUCCEEDED()" instead of "!= 0". Current implementation does exactly the opposite because S_OK == 0. Change-Id: I0677d54447d22366fb2031e0b928a3d10e24c0ed Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* QWindowsPipeWriter: Fix developer build with MinGW.Friedemann Kleint2016-05-021-1/+1
| | | | | | | | | | | | | Fix signedness in comparion: io\qwindowspipewriter.cpp: In member function 'void QWindowsPipeWriter::notified(DWORD, DWORD)': io\qwindowspipewriter.cpp:134:65: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] Q_ASSERT(errorCode != ERROR_SUCCESS || numberOfBytesWritten == buffer.size()); Amends change a4d26cf522b966056e47e47a004b7e4d668e3a2d. Task-number: QTBUG-52401 Change-Id: If0c0e2107342408675fa00b93f28c9de339080f6 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* xcb: Fix drag and drop to Emacs.Urs Fleisch2016-05-021-2/+2
| | | | | | | | | | | | Unfortunately, the improved patch for QTBUG-45812 fixed things for Chromium, but did no longer work for Emacs. This fixes commit [269fdb] to make it work for both Emacs and Chromium. Task-number: QTBUG-45812 Change-Id: I2fca708503f27679681bc6959de1ad94943a063e Reviewed-by: Dmitry Shachnev <mitya57@gmail.com> Reviewed-by: Błażej Szczygieł <spaz16@wp.pl> Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
* Fix UB (data race) in Q_GLOBAL_STATICMarc Mutz2016-05-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The store to guard in the inner function's critical section was not synchronized-with the load at the start of the function: T1 T2 guard.load() mutex.lock() guard.load() d = new Type guard.store() guard.load() // use d mutex.unlock() The use of d in T2 does not synchronize with the write to d in T1 -> data race -> UB. Fix by storing with release memory ordering, so that the guard.load() in T2 synchronizes with the guard.store() in T1. Change-Id: I5c1cd1fa097c6397cb0b48b0d8e8012f95978558 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QWindowsPipeWriter: ensure validity of the write bufferAlex Trotsenko2016-04-3011-73/+185
| | | | | | | | | | | | | | | QWindowsPipeWriter uses asynchronous API to perform writing. Once a cycle has been started, the write buffer must remain valid until the write operation is completed. To avoid data corruption and possibly undefined behavior, this patch makes QWindowsPipeWriter::write() take a QByteArray, which it keeps alive for the duration of the write cycle. Autotest-by: Thomas Hartmann Task-number: QTBUG-52401 Change-Id: Ia35faee735c4e684267daa1f6bd689512b670cd2 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Remove the use of QMutexPool in QHostInfo and QDnsLookupThiago Macieira2016-04-303-32/+16
| | | | | | | | Q_GLOBAL_STATIC does the thread-safe protection for us. And who said we could only use non-POD types? We can just use a boolean! Change-Id: Ifea6e497f11a461db432ffff1449b0a88d75d194 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Remove the use of QMutexPool from QtDBus loading of libdbus-1Thiago Macieira2016-04-301-2/+3
| | | | | | Change-Id: Ifea6e497f11a461db432ffff1449b013c2302d38 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Don't store the pthread_t thread ID twice in QThreadThiago Macieira2016-04-303-22/+18
| | | | | | | | | | | | | | | | | | It was being stored once in QThreadPrivate and once in QThreadData, with the latter being hidden as a Qt::HANDLE. Besides saving a little bit of memory, this also solves a small data race condition that arises from trying to connect a signal to an object moved to that thread and then emit that signal shortly after the thread starts. Before this patch, QThreadData::threadId was initialized only by QThreadPrivate::start(), which meant that we were racing that initialization with this check in QMetaObject::activate: const bool receiverInSameThread = currentThreadId == receiver->d_func()->threadData->threadId; Task-number: QTBUG-52337 Change-Id: Ifea6e497f11a461db432ffff1449ae01f1099aae Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* Fix scroll regression near scroll-view endsAllan Sandfeld Jensen2016-04-292-2/+54
| | | | | | | | | Fix regression in a7b0cb467ca5c4a9447d049910c9e3f0abc5897c which caused it to be hard to start scrolling at the ends of a scroll-view if using fine grained scrolling events. Change-Id: I55f3210150b993281545c3ad5a7356d892fa30b5 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* don't apply warning options to host buildsOswald Buddenhagen2016-04-291-0/+4
| | | | | | | | | | the host compiler's version is not determined, so we cannot make any assumptions about its capabilities. Task-number: QTBUG-53017 Change-Id: I939fd7402b5daac73f2195b9d8763b9008bc7ea4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Rolf Eike Beer <eb@emlix.com>
* tst_QMdiArea::subWindowActivated2(): Add activateWindow().Friedemann Kleint2016-04-291-0/+1
| | | | | | | | | | The widget is hidden, reshown and tested for active window, which is flaky. Add a call to activateWindow() which increases the chances of it becoming the active window should another window appear. Change-Id: Ibbecdbc43e2ac9638aec497c47fffaaffa1855af Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Possible crash in QMakeSourceFileInfoJesus Fernandez2016-04-291-30/+40
| | | | | | | | | CID 155005: Possible illegal access in string. Some loops were reading the buffer without checking the bounds. Change-Id: I910671a6d56808138ec2bb5d96bd7edf78b20f73 Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Unchecked return value in QMakeProjectJesus Fernandez2016-04-291-4/+2
| | | | | | | | | CID 21629: The QMakeProject::read result was ignored. MetaMakefileGenerator::createMakefileGenerator will be called if the project was read. Change-Id: I9187c82efd1abedcaa8e394f1fdb0b7f35a2b1d7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Autotest: fix the QTimeZone::tzTest failure when database contains LMTThiago Macieira2016-04-292-8/+12
| | | | | | | | | | | | | | | | | On some operating systems, tzdata files carry the Local Mean Time (LMT) for the city in question, which better represents how time was tracked before standard, hourly timezones were introduced in the early 20th century. The test was asking for the data for 1653-02-09 and assumed that it would find the first Central European Time (CET) rule, which Germany didn't start using until 1893-04-01. This fix allows us to remove the blacklist that had been applied to this test without investigation. It wasn't related to OpenSUSE, aside from the fact that OpenSUSE tzdata carries the LMT data. Change-Id: Id5480807d25e49e78b79ffff1449bdaf46901367 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
* Make it clear that QObject::tr() falls back to QString::fromUtf8()Sérgio Martins2016-04-281-3/+3
| | | | | | | | The reference to trUtf8() made it even more confusing, so remove it. It's redundant and deprecated anyway. Change-Id: I9921297160db3660bb5099692bbfdaf6e85637aa Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* qstyle: Make image description match the image.Sérgio Martins2016-04-281-2/+2
| | | | | | | The image shows 9 combo boxes, not 8. Change-Id: If229332e1708f624ad9f50fab0b78c011d94f31e Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
* Add missing indentationAllan Sandfeld Jensen2016-04-281-16/+16
| | | | | | | Discovered with gcc 6. Change-Id: Ib5ba49df6a1f4d9574842ffe5f3e9856da0e60d0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* QPdf: Force miter limit into valid rangeKai Pastor2016-04-284-1/+94
| | | | | | | | | | Miter limits below 1.0 are not valid in PDF and trigger an error in the Reader. This change enforces a minimum miter limit of 1.0, and it adds a manual test for producing a PDF file demonstrating this issue. Task-number: QTBUG-52641 Change-Id: I1c78b1c4a44579e95e1cddfb459926d304e60165 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Unhide QObject::parent() from QFileSystemModel and QIdentityProxyModelAlexander Volkov2016-04-282-0/+2
| | | | | | | | | | | It was hidden by overridden parent(const QModelIndex &) methods. See also 63b5082ea8e3e750af986f815474f7207006cb46 (Unhide QObject::parent() from QAbstract{Table,List}model). Change-Id: I8b6d4d4175e4d43ff269eaeb0b2b1a9fb8f44bab Task-number: QTBUG-45393 Reviewed-by: Milian Wolff <milian.wolff@kdab.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QtDBus: finish all pending call with error if disconnectedWeng Xuetian2016-04-286-6/+64
| | | | | | | | | libdbus will send a local signal if connection gets disconnected. When this happens, end all pending calls with QDBusError::Disconnected. Task-number: QTBUG-51649 Change-Id: I5c7d2a468bb5da746d0c0e53e458c1e376f186a9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* winrt: Refactor pointer device handling to support penMaurice Kalinowski2016-04-281-30/+37
| | | | | | | | | | | | | | | | | | In addition to pen events being handled as tablet events, we create touch events. Same principle is used on other platforms as well. This allows devices as Surfaces to use the pen with Qt applications. Furthermore, the first update event does not have to be a press event, as in a pen has proximity values describing a move without touch, but also the HoloLens uses touch points as permanent pointer devices. They all send an exit event once released or out of range. Hence, clean up the internal touchpoint hash when the touch device is gone, not on release. Task-number: QTBUG-38681 Change-Id: I38acaa034a3cfe224098bfa36bfead5428f4db16 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* winrt: Fix memory leak for file readingMaurice Kalinowski2016-04-281-3/+9
| | | | | | | | | | | | | | IInputStream::ReadAsync might create a separate buffer to fill in data. Passing a buffer with GetAddressOf() can cause a memory leak of the size of data to be read. Instead, pass a separate buffer pointer and continue to use this one after the async operation. This way, the OS can decide whether to switch buffers or not, keeping ref counting in sync. Task-number: QTBUG-52961 Change-Id: I9dfb627287142355ebcf74ca52427b4e8108e8d1 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* tst_compiler: Expand the attribute testThiago Macieira2016-04-281-5/+85
| | | | | | | | | This is not exhaustive, but was enough to discover ICEs. Change-Id: Ib60be1d298a66b72e3eb9b75ad538f0bf15b5f62 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: Simo Fält <simo.falt@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>