summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix grouped dock widget from shifting down when createdSergio Martins2018-04-111-0/+2
| | | | | | | | | | | | | | | | Animated .git attached to the bug report for easy understanding. Looks like we shouldn't set window flags after a setGeometry() and before having the window resources. If we do that, then the requested geometry won't be honoured. No idea if it can be fixable in the QPA and won't risk doing it there. Fixes the problem on macOS and Windows. On Linux it was OK, and still is. Task-number: QTBUG-67611 Change-Id: I8244b4956a5ac9afcf257bea762c2c3084b563f8 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Fix z-order when dragging a dock widget over anotherSergio Martins2018-04-111-0/+1
| | | | | | | | | | | | | the drop target would create a floating group window, which would have higher z-order since it just had show() called on it. raise the window we're dragging when the target is mutated into group window. Bug can be seen on the .gif attached to QTBUG-67611. Change-Id: I5dad058468e24327b14d1e7f76c3ad0287d26ee8 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QSslSocket (OpenSSL 1.1) - respect requested protocol versionTimur Pocheptsov2018-04-113-3/+71
| | | | | | | | | | | | Properly handle single protocol TLS configurations. Previously, due to the use of generic (non version-specific) client/server method they worked as ranges of protocols instead. This also fixes a couple of previously broken tests. Task-number: QTBUG-67584 Change-Id: Ied23113a4fab6b407a34c953e3bd33eab153bb67 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Remove last uses of interpolate_4_pixels_16 on SSE2 and NEONAllan Sandfeld Jensen2018-04-112-53/+52
| | | | | | | | | | | | With SSE2 or NEON interpolate_4_pixels is faster than interpolate_4_pixels_16, and using it saves a branch of duplicated code. Similar changes had already been done other places it was used, those have been updated to follow a similar logic. Change-Id: I040d96480f7f925f659602f66f931d28b59312a5 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Enable BuiltIn input in the shader graph builderJuan Jose Casafranca2018-04-102-0/+5
| | | | | | | | BuiltIn inputs shouldnt be translated into a code input. We comment the input line for this variables Change-Id: I3b7d2fd06afc6a122d90a999fc5a5246fc93234e Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* configure: make plain -xcb switch effectiveOswald Buddenhagen2018-04-101-1/+1
| | | | | | | | | | | the option is a quad enum, with "yes" meaning "either system or qt". the distinction is made only in the "system-xcb" feature, while "xcb" itself must be forced on in the "yes" case. Task-number: QTBUG-67251 Change-Id: Ib706e79a902ae0f1b64ca6d4611c9214b7b7e928 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* glx: Fix loading OpenGL library when libGL.so symlink is missingDmitry Shachnev2018-04-101-0/+2
| | | | | | | | Task-number: QTBUG-67537 Change-Id: Ib59bc27582f44b0c6b04efa57c44d877e1685bbb Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Fix crash if dock widget gets deleted while draggingSergio Martins2018-04-101-2/+3
| | | | | | | | | By using a QPointer. Change-Id: I16832dadc9cd8cefc4f9f276b1242c0000097b95 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Fix integer overflow (1 << (' ' - 1))Mikhail Svetkin2018-04-101-7/+7
| | | | | | | | | On platforms where integer by default is int32(max is 2147483647) and (1 << (' ' - 1)) will be 2147483648 Change-Id: I790d33bd4e473925d6897dd87cbffdfe8dd7938f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QSplitter::indexOf: fix documentationAnton Kudryavtsev2018-04-101-2/+2
| | | | | Change-Id: I2943c076879cbf229f209743b3b5c1f5fcd78302 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* iOS: Remove sending of duplicate touch events after broken mergeTor Arne Vestbø2018-04-101-1/+1
| | | | | | | | | | | The merge in 0f315adf9199ef resulted in keeping both code paths, in effect sending two touch events for each native touch event, and also re-introduced the bug fixed by sending the touch events asynchronously in some cases. Change-Id: Id81f02d9597f4e0baeaddbdf9057fa32b6c31b2f Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Extend the MariaDB define check to cover the later versions tooAndy Shaw2018-04-101-2/+2
| | | | | Change-Id: Ide89b4e07feb116bf152cbf3f5630d313e8ba0f1 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* xcb: various coding style cleanups in qxcbbackingstoreGatis Paeglis2018-04-092-37/+33
| | | | | | | | | | | - Pass QXcbBackingStoreImage a pointer to QXcbBackingStore. This allow for simpler QXcbBackingStoreImage ctor. - Use member initializers. Change-Id: Ia992390060bb30e1184813cd0d115a8bf0fbc237 Reviewed-by: Błażej Szczygieł <spaz16@wp.pl> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* xcb: rename two classes in qxcbbackingstoreGatis Paeglis2018-04-092-23/+23
| | | | | | | | | | | | | | QXcbShmImage to QXcbBackingStoreImage as it is an image that might or might not have SHM capability. The current name implies that it always uses SHM. QXcbShmGraphicsBuffer to QXcbGraphicsBuffer as it has nothing to do with SHM. Change-Id: I57ced75891e8b10515142769278a7f3f40da91ef Reviewed-by: Alexander Volkov <a.volkov@rusbitech.ru> Reviewed-by: Błażej Szczygieł <spaz16@wp.pl> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Doc: Update QVariant::toString description, update see also linksPaul Wicking2018-04-091-43/+48
| | | | | | | | | | Change the toString description to reflect that the listed types are not exclusive, and update see also link to link to the canConvert method that includes conversion table. Task-number: QTBUG-67174 Change-Id: I3ad2889c98a235995b94a2d0496a6fb8c024b7bb Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Fix integer overflow (1 << 31)Mikhail Svetkin2018-04-091-1/+1
| | | | | | | | | | On platforms where integer by default is int32(max is 2147483647) and (1 << 31) will be 2147483648 Change-Id: I59ccb5344d5ad7d085f01bbc7cebdf6152ff7755 Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix TlsV1SslV3 case in the WinRT SSL backendMårten Nordheim2018-04-091-1/+1
| | | | | | | | | | | It would previously only enable TLS v1.0, but it should also enable SSL v3. According to Microsoft's documentation[0] that is exactly what "SocketProtectionLevel_Ssl" does. [0]: https://docs.microsoft.com/en-us/uwp/api/windows.networking.sockets.socketprotectionlevel Change-Id: Id48f1ad310d994b8379116c9fa2102db858d7f69 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QSemaphore: Fix 64-bit Linux QSemaphores initialized to non-zeroThiago Macieira2018-04-061-3/+7
| | | | | | | | | | | | | | | | | | | | | | The original design for the 64-bit futex had the token count replicated in the high part. But the constructor wasn't setting it. This is one of the issues I had noticed when investigating QTBUG-66875, but didn't need to address since the the fix I ended up applying in commit 081c001deb75fa38385d3ff8cbbdb4f788529133 made that unnecessary: the high part only had the number of waiters. Unfortunately, when commit f502270c0f06daba75c1da381bd1658d81aa7bba brought back the token count in the high part, I failed to correct that problem. As a consequence, every QSemaphore that was initialized in the constructor to a non-zero value would eventually deadlock. This commit fixes that oversight. Task-number: QTBUG-67481 Change-Id: I662b8f168c74440ab1a8fffd1522be6b85adb4d0 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Svenn-Arne Dragly <svenn-arne.dragly@qt.io>
* QOpenGLTexture: Set wrap mode if NPOT textures are not fully supportedJohan Klokkhammer Helsing2018-04-061-0/+12
| | | | | | | | | | | | | | | | | | The OpenGL wrap mode defaults to GL_REPEAT although it is not supported for non-power-of-two textures on hardware that only has limited support. I.e. the following would create a texture with an invalid wrap mode: auto *t = new QOpenGLTexture(QOpenGLTexture::Target2D); t.setSize(123, 456); This patch adds a check in QOpenGLWindow::setSize to see if it's called with a non-power-of-two size on hardware without full support, and if so sets wrapMode to ClampToEdge (which should work on devices with limited support). Task-number: QTBUG-67418 Change-Id: I56e9f4383dbf5430c2bc5e4e9e585712b3603c13 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Pass on local html links with a fragment to openUrl()Andy Shaw2018-04-061-2/+5
| | | | | | | | | | | | If a file link to a html file has a fragment part included then this will be lost when passed to QDesktopServices::openUrl() as this is not kept in the conversion of the QUrl. So by checking the filename in the case of a fragment existing in the url, we can be sure that the information is passed on correctly for html files. Task-number: QTBUG-14460 Change-Id: I8167d8c164713dd999603ba9e74150f4f1a4abea Reviewed-by: David Faure <david.faure@kdab.com>
* oci: Use OCIBindByPos2 to accommodate data longer than USHRT_MAXAndy Shaw2018-04-061-3/+3
| | | | | | | | OCIBindByPos2 is only needed when using execBatch(), binding data that is longer than USHRT_MAX works for exec() so this is left unchanged. Change-Id: Ifdcf91939d184f225d24c13052ea0b81611ecf91 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QMimeDatabase: fix assert when fetching data for invalid mimetypeDavid Faure2018-04-061-0/+2
| | | | | | | | | The Q_ASSERT(mimePrivate.fromCache) at qmimedatabase.cpp:218 which I added in commit 7a5644d648, was being triggered when calling comment() for invalid mimetypes such as db.mimeTypeForName(""). Change-Id: I8037041a4b435d2a5ba24ec94b7858e38b2f0bf2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QSqlDatabase: Skip confusing thread warning on invalid QSqlDatabaseDavid Faure2018-04-061-2/+4
| | | | | | | | | If the db isn't valid, then that's the actual issue, not the fact that we're getting the same invalid db (with the same driver QSqlNullDriver) in multiple threads. Change-Id: I95490818ed78e741c3823e115f139c2cff01b0b1 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Fix visual artifacts in diffuse image dithering (the default)Eirik Aavitsland2018-04-061-4/+8
| | | | | | | | | | The distributed error fractions in the Floyd-Steinberg dithering algorithm were not computed precisely. In particular, rounding errors could be accumulated, leading to visual artifacts. Task-number: QTBUG-67425 Change-Id: I77b48c3cab3e66ca161721d14b58fcc4188e74a8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* winrt: socket engine: Replace last occurrences of old connect syntaxOliver Wolff2018-04-061-3/+6
| | | | | Change-Id: I1d2f3b0b39de252f5392a2411ff4e3d94fd8593b Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* winrt: Properly deinitialize socket on connection failureOliver Wolff2018-04-061-0/+1
| | | | | | Change-Id: I4dde73423111ca4af386fa76ac26d1a1161fe493 Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* winrt: process pending data before closing a socket connectionOliver Wolff2018-04-062-6/+22
| | | | | | | | | | | If data is received and the remote immediately closes the connection, it was possible that data was lost. If a remote closes the connection make sure that any pending data is processed, before signaling closing of the socket. Change-Id: Ia94a616a31184fd28695919baaff99811fe0f1dd Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* Doc: Remove section about Qt Gui in Qt 4 from overview pageKai Koehne2018-04-061-13/+0
| | | | | | | | | | Qt 5 is now old enough that the delta to Qt 4 doesn't need to be on the central module page anymore. This is best left to https://doc.qt.io/qt-5/portingguide.html Change-Id: If65ef91765e1aca37fd7f107c2334ac65e403cd3 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Avoid multiple connections to same response in FileChooser portalJan Grulich2018-04-061-0/+3
| | | | | | | | | | | | When not specified, xdg-desktop-portal keeps using same Request object over and over when returning response, causing multiple connections to same slot on same DBus object. While this is not problem when using FileDialog just once, it is a problem for QML FileDialog which is usually reused. For this purpose x-d-p provides handle_token option where you can specify token to be used when creating Request objects. Change-Id: Ie6569700c48e05fcefa4d5c22c921410f87ea7ae Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QTabBar: Repaint when releasing mouse on selected tabGabriel de Dietrich2018-04-051-1/+5
| | | | | | | | Some styles, most notably QMacStyle, require this to properly reflect the pressed state. Change-Id: Ie841d97afbe3cfdfde1254a7069876a1a0af2e52 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* QMacStyle: Fix "on" toggle button text colorGabriel de Dietrich2018-04-051-1/+2
| | | | | Change-Id: I344c63debdcf012a16305f1b2124e8ad0785d982 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Make nvidia resets opt-in based on QSurfaceFormat::ResetNotificationDavid Edmundson2018-04-051-1/+1
| | | | | | | | | | We can't be sure every user will check the return value from makeCurrent and reset appropriately. Even though after a reset a user will be left with the same garbage as before, it's safer than a potential infinite loop. Change-Id: I5b328c654ad2a89c5b8c4399e2eb38150f4f384b Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* HTTP/2 - treat HEADERS frames as valid for streams in 'open' stateTimur Pocheptsov2018-04-051-3/+4
| | | | | | | | | | | | | | | | Previously, I erroneously expected HEADERS frame only on a stream, which is in half-closed (local) or reserved (remote) state. But 'open' state is also valid (RFC7540, 6.2). For example, we start uploading some data, we have sent HEADERS frame and now are sending DATA frames, without END_STREAM flag set yet; this stream is in 'open' state. If a server wants to reply with some error status code or redirect - it does not have to wait for our END_STREAM flag, reading all this data that will be discarded anyway. Task-number: QTBUG-67469 Change-Id: I53e3a5e9b2ab7f7917ae083ba44e862a227db238 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Support graphics reset status for offscreen surfaces in XCB-GLXDavid Edmundson2018-04-051-0/+6
| | | | | | | | | | | | I originally didn't to match the ANGLE code, however it's important for all surfaces to be able to know to reset if their makeContext fails. This is espcially relevant on some Linux nvidia drivers which has a bug where while(glGetError()) won't ever clear whilst a reset is in progress. Change-Id: Iae3502168cda748c601a9aee1497e40c6d82cd83 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Improve QAbstractSpinBox::stepBy() docsMitch Curtis2018-04-051-5/+4
| | | | | Change-Id: I28e942b6b2952205641c751e4c120cb38ae13fd6 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Windows QPA: Fix override cursor not working when re-entering the windowFriedemann Kleint2018-04-052-0/+3
| | | | | | | | | Return early from QWindowsWindow::applyCursor() when an override cursor is set. Task-number: QTBUG-67467 Change-Id: I0d3ceead8bbbd3c6295c216a944a1ef15b6f8190 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix memory corruption in heightForWidth cacheHarald Brinkmann2018-04-051-1/+1
| | | | | | | | Overflowing q_firstCachedHfw caused memory to be overwritten before q_cachedHfws. Change-Id: Ibbcc72380f426550cc0569a05c54cd1acd878b33 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Doc: Add missing punctuation in qCritical, qFatal documentationKai Koehne2018-04-051-2/+2
| | | | | Change-Id: If4175502f81e569f031d97da6cc7f5d46428442a Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Parse XDG_SESSION_TYPE and use that to determine default platformAllan Sandfeld Jensen2018-04-041-0/+15
| | | | | | | | Makes Qt application try to launch using wayland in a wayland session, even if it was a default desktop build. Change-Id: Ib7d4a79fbe777527d1862bd775627afae10b1e9e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix read-only text browser sometimes jump to the top of the documentJarek Kobus2018-04-041-0/+6
| | | | | | | | | | | | | | | | | | | Respect the inputMethodAccepted() attribute of QPlatformInputContext in the ibus input context plugin. This is what for example the windows input context plugin does, too. A text browser that is read-only should not receive input method events that include a cursor placement. So when it receives the focus, we must only convey the received-focus information to the input method if the widget is editable (or accepts input method events generally speaking), because as soon as the ibus process learns about it, it will send an input method event that looks like a "let us reset the state a clean start and place the cursor at the beginning" message. We are not interested in reaching that state with the ibus process. Task-number: QTBUG-63066 Change-Id: I1b0e5f8a396bc31169d6081f9325092b447cf60a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: Document availability of freetype font engineEskil Abrahamsen Blomfeldt2018-04-041-0/+6
| | | | | | | | | Since we have this documentation for the Windows platform plugin, it makes sense to also have it for Cocoa. Task-number: QTBUG-67372 Change-Id: I170ae251572c8e209643a582cdd7350aaf5c7ccd Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Check if the movie's current pixmap is null before drawing itAndy Shaw2018-04-041-1/+1
| | | | | Change-Id: I87ed9998108961775f8f424bfbb4b957c0b03d8a Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QWidget: Fix typo in Mac size propagationGabriel de Dietrich2018-04-041-1/+1
| | | | | | | This amends commit f8b6d104b981ef420756c0c20f62b8013d93ae15. Change-Id: I77a48e68ec7db791b843fe4dfeddc4c6fedf6380 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Fix typoed integrity conditionKari Oikarinen2018-04-031-1/+1
| | | | | | | | Amends 594fe5c4636cb783bb7840efff4171e772ae906a. Change-Id: I0fb5ab79d895cfd9698db9b4a4394481299a7e1a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Cocoa: Make QMacNativeWidget paint correctlyMorten Johan Sørvig2018-04-031-3/+5
| | | | | | | | | | | | | QWindows with transparent pixels (of which QMacNativeWidget is an example) must be composited, even if they are content views. This will display the NSWindow background instead of solid black for the areas where the Qt backingstore has transparent pixels. Change-Id: Ibee1327e11bc64975900b4c5d632dd5f103da4c8 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QCoreTextFontEngine: Fix build with Xcode 9.3Gabriel de Dietrich2018-03-301-1/+1
| | | | | | | | | | | | | Apple LLVM version 9.1.0 (clang-902.0.39.1) Error message: .../qfontengine_coretext.mm:827:20: error: qualified reference to 'QFixed' is a constructor name rather than a type in this context return QFixed::QFixed(int(CTFontGetUnitsPerEm(ctfont))); Change-Id: Iebe26b3b087a16b10664208fc8851cbddb47f043 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* doc: Improve QByteArray::fromRawData snippetSamuel Gaist2018-03-291-3/+3
| | | | | | | | | The current snippet uses integer literals that will trigger the Wnarrowing warning with recent version of gcc. This patch replaces them with character literals to fix this warning. Change-Id: Iffad495f24cc9d4c1674a7fe3f6b45c46a625ff8 Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
* rcc: prune dead wildcard matching codeOswald Buddenhagen2018-03-291-32/+29
| | | | | | | | | | | | | | | | clearly, rcc was meant to support wildcard patterns in <file> entries. however, since its inception, this code was broken: the exists() check was done first, so the decomposition into path and wildcard would never happen. as actually supporting wildcards woulds just complicate matters, simply remove that dead code. on the way, re-arrange the code in a way that is advantageous for subsequent changes, and insert a case that catches non-regular file nodes (this would have previously run into the wildcard code). Change-Id: Iac1a168b844ef5b176f6cc45d6a779fde0bec6f7 Reviewed-by: hjk <hjk@qt.io>
* QSemaphore: attempt to fix again the 64-bit Linux semaphoreThiago Macieira2018-03-291-13/+20
| | | | | | | | | | | | | | | | | This time, the issue was that we could race a wait and a wake. A multi- token waiter would not notice that the number of tokens changed because it only performed a fetch-and-OR, then waited on the high part which did not change. That means the futex_wait() would succeed, when we wanted it to have failed. So we have to bring back a portion of what commit 081c001deb75fa38385d3ff8cbbdb4f788529133 removed: we need to keep both the token count and the waiter count in the high word. Task-number: QTBUG-67214 Change-Id: I04a43ee94975482f9e32fffd151e467a9e0030b3 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Windows: handle multiple transient children when closing windowsMauro Persano2018-03-291-11/+7
| | | | | | | | | | On Windows, we must update the transient children of a window that's about to be destroyed or its transient children will be destroyed as well. This is already being done in the case of a single transient child, but there are still problems when there are more than one. Change-Id: Ib0de6767bf43dca508ecdb87cbdfedb59e9146e8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>