summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Client: Don't add all windows to activePopupsv5.13.0-rc3v5.13.0-rc2v5.13.0Johan Klokkhammer Helsing2019-06-062-1/+2
| | | | | | | | | | | | | | | | Neither Qt::ToolTip nor Qt::Popup are single bits in Qt::WindowFlags, and do in fact include Qt::Window. This meant that when we or'ed them and did a bitwise and with QWindow::type(), we would match more types than just Qt::Popup and Qt::ToolTip. We would for instance get any Qt::Window as well, which meant the main window would be added to activePopups, leading to strange things happening, such as crashes and the main window closing unexpectedly. [ChangeLog][QPA plugin] Fixed a crash when closing multiple popups at once. Fixes: QTBUG-76124 Change-Id: I1a6a59e161a436604a7ac8ab824396481dc99a20 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> (cherry picked from commit af9ec8a76d7e62444fadb518256fc58723fe5186)
* Client: Don't crash when the cursor theme fails to loadv5.13.0-rc1Johan Klokkhammer Helsing2019-05-211-0/+7
| | | | | | | Fixes: QTBUG-75920 Change-Id: I29d84b487afb2a90b8a633abce2fcc39ca75adae Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Add changes file for Qt 5.13.0v5.13.0-beta4Johan Klokkhammer Helsing2019-05-101-0/+111
| | | | | | | Change-Id: I35b995cc2273a285b0c89be86841b5d38630b493 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Make QML module documentation follow Qt minor versionJohan Klokkhammer Helsing2019-05-061-4/+4
| | | | | | | | In 8b69d52d I forgot to also check for import statements in the .qdoc files. Task-number: QTBUG-74042 Change-Id: I385bbab50b3ffdee174f0542b3692d21ef57e08f Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.12' into 5.13" into ↵Liang Qi2019-05-039-51/+221
|\ | | | | | | refs/staging/5.13
| * Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-05-029-51/+221
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/client/qwaylandwindow_p.h Change-Id: Ic4104c48267d1682bb58d6b38afc833c39515eae
| | * Docs: Fix incorrect version for module importJohan Klokkhammer Helsing2019-04-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes an issue with the XdgShell documentation where the import statement at the top was too low (1.1 instead of 1.3) Later we should make it automatically follow the Qt minor version (see QTBUG-74042). Fixes: QTBUG-73256 Change-Id: Ib280998fe9c65168854e517b8555c5cd9b17cdd7 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * Client: Full implementation for frame callbacks (second try)Johan Klokkhammer Helsing2019-04-247-49/+218
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Wayland plugin now takes full control over delivering update request and implement frame callbacks for both egl and shm. [ChangeLog][QPA plugin] The non-blocking version of eglSwapBuffers is now used, if supported. This fixed a bug where minimized windows would block the event loop. [ChangeLog][QPA plugin] Windows that don't get frame callbacks from the compositor within 100 ms are now set as not exposed. This should stop most clients from rendering unnecessary frames to minimized or hidden windows. Also, when we relied on the QPA version of requestUpdate, we would sometimes deliver one update request while we were waiting for a frame callback. When we implement the fallback timer ourselves we can make sure we only deliver the fallback if there are no pending frame callbacks. QtQuick and other applications often depend on blocking swapBuffers to throttle animations. If the context's surface format has a non-zero swapInterval, try to emulate a blocking swap. Fixes: QTBUG-69077 Change-Id: I3c6964f31a16e9aff70b8ec3c5340e640a30fef2 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * Compositor: Add qwaylandoutput_p.h to headersJohan Klokkhammer Helsing2019-04-241-0/+1
| | | | | | | | | | | | | | | | | | Fixes: QTBUG-75329 Change-Id: Ifdd93e28ebf971ab10f7d051c2da56d115f2068b Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | client: reimplement QPlatformIntegration::possibleKeys()Gatis Paeglis2019-05-034-0/+23
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is required to trigger more complex shortcut sequences. For example, with 'us' keyboard layout to enter '%' or '+' you have to press 'Shift' button. Previosly the following shortcuts could not be triggered: 'Shift' + '5' '%' 'Ctrl' + '+' 'Ctrl' + 'Shift' + '=' The same function also ensures that these shortcuts work with non-latin keyboard layouts. Change-Id: Id50c7bb28cf76b9f7a861ced7894b2cacae6ed65 Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Make QtWayland.Compositor available under 1.QT_MINOR_VERSIONJohan Klokkhammer Helsing2019-05-019-24/+34
| | | | | | | | | | | | | | | | | | | | It was already available under 1.13, but this ensures it will stay available for future minor versions of Qt and also use the latest minor version in the examples. Fixes: QTBUG-74042 Change-Id: I4a6a4f762ed0af565af32931971a1df7f33a3ba1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Client: Fix reverse screen orderJohan Klokkhammer Helsing2019-04-295-13/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QPA plugin] Fixed a bug where QGuiApplication::screens() and primaryScreen() would return initial screens in the reverse order they were added by the compositor. QGuiApplication::primaryScreen() will now return the first output added by the compositor. Calling forceRoundTrip in registry_global() meant it would call itself recursively if there were additional wl_output events in the queue. This in turn meant the screens got added in the reverse order. Instead we now add the screen to a list of not yet initialized screens and add it properly when we've received the required done events (wl_output and possibly zdg_output_v1). This also has the added benefit of wl_output hot plugging not calling forceRoundTrip(). Fixes: QTBUG-72828 Change-Id: I35c6959d6c219f65fd19d571a25b5a6cdb3f741b Reviewed-by: Gatis Paeglis <gatis.paeglis@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>
* | Remove wayland-egl as dependency of linux-dmabuf-unstable-v1Kai Koehne2019-04-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | Fixes Project ERROR: Library 'wayland-egl' is not defined. in linux-dmabuf-unstable-v1.pri Change-Id: I8a618c7cfb61340ea21535757daacb9141863f72 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Doc: Fix minor link issuesNico Vertriest2019-04-253-5/+2
| | | | | | | | | | Change-Id: I42bca2a6d5a687217c3dde9bd80394bc95e361f8 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | remove useless indirectionGatis Paeglis2019-04-252-11/+4
| | | | | | | | | | | | | | The function name also was not the best :) Change-Id: Iee853a77ac0ad210f2dff70b55df2ba534fd355b Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | drop qwaylandxkb and share the logic with X11Gatis Paeglis2019-04-259-492/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | QtWayland can benefit from sharing code with X11. This will fix issues that have been reported and fixed on XCB a long time ago. Task-number: QTBUG-65503 Fixes: QTBUG-71301 Fixes: QTBUG-66497 Change-Id: I09cbf8e1c9cf29e8d7f46b97bc2f11d6e91b61a5 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-233-2/+59
|\| | | | | | | Change-Id: If769004739118c2844c87a6ac81f558868210943
| * Compositor: Fix compilation problems for qwaylandshell.hJohan Klokkhammer Helsing2019-04-172-2/+26
| | | | | | | | | | | | | | | | | | | | | | d65783c broke compilation for code that includes qwaylandshell.h, but not qwaylandshell_p.h, because QWaylandShellPrivate is an incomplete type and we don't know that it's convertible to QWaylandCompositorExtensionPrivate by just looking at the public header. And we can't move the QWaylandShellTemplate constructors to the cpp file because it's a template class. Change-Id: Ia2d093de74429ace33d08b91743cbc8b7e7befa8 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Merge remote-tracking branch 'origin/5.12.3' into 5.12Qt Forward Merge Bot2019-04-171-0/+33
| |\ | | | | | | | | | Change-Id: I3e82d68cead71171608ab6a46f124e874a4d7d53
| | * Add changes file for Qt 5.12.3v5.12.3Antti Kokko2019-04-101-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 7206b4e8b6e10f5623b19ca132f538066c96aab5 Fix the build with -no-gui + 489fedaa320a4941a9fc6a17df1a791c93270bb8 Compositor: Call eglUnbindWaylandDisplayWL when destroying the compositor + 3200e86cefd9a83cea45c7cab589bfbf1ff63f4f Client: Fix incorrect damage region for window decorations + 7a0956a89a559e5a73a659fcc08001cefa01d9bd Bump version Change-Id: I770edad3ca0728ce18a14a02284231fe14c8e68c Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* | | rework key handlingGatis Paeglis2019-04-174-95/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Document the magical 8 keycode offset in QKeyEvent::nativeScanCode() - Check if we are working with the expected keymap format. - Rename sendKey() to handleKey() as that is typical naming convention for events that are passed to QWindowSystemInterface. - WL_KEYBOARD_KEYMAP_FORMAT_NO_KEYMAP is in the bundled xml so use it in send_keymap() - Rename toWaylandXkbV1Key() to toWaylandKey() as previous name was incorrect. - Remove "Generic fallback" in keyboard_key() as it was non-functional, you can't expect any useful output when mapping scan code directly to Qt::Key. It was not working in 5.9 (did not check beyond that) and no one has complained. It is safe to assume that the fallback code path is dead and can be dropped. To use HW keyboard with wayland, you need to build with libxkbcommon. We require this on XCB since Qt 5.1.0, so it is not an unreasonable requirement for Wayland. - Cleanup auto-repeat key handling. - Cleanup "#if QT_CONFIG(xkbcommon)" checks. Change-Id: Ie9fcc628621487fb58bc55dd595bf0d51eedfc92 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | xkbcommon: replace deprecated APIsv5.13.0-beta3Gatis Paeglis2019-04-162-10/+8
| | | | | | | | | | | | | | | | | | | | | See xkbcommon/xkbcommon-compat.h Change-Id: I2a70e14481db227fc0be657fbcf4f6550d62e7e8 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | compositor: rework xkb context/keymap/state handlingGatis Paeglis2019-04-165-52/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Use smart pointers from xkbcommon_support-private. - Avoid unnecessary strdup()/free() calls. - Don't recreate context. And move it into qwaylandcompositor so it can be shared between seats. It contains things like a logging level and include paths. Change-Id: Ibea29f2874cc147a8e08f15192831fa42ca58f48 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-04-164-14/+25
|\| | | | | | | | | | | | | | | | | | | | Conflicts: src/client/qwaylanddisplay_p.h Change-Id: Ie84862aa41623c11abd8f882f428054f30062c77
| * | Fix incorrect path to wl-eglstream-controller.xmlJohan Klokkhammer Helsing2019-04-111-1/+1
| | | | | | | | | | | | | | | Change-Id: I1d4bceeb87b7e95b7b4b9c9885e06052bd7536e9 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | Client: Don't be exposed if we want to create a sub or shell surfaceJohan Klokkhammer Helsing2019-04-083-13/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | Because some shells don't allow attaching buffers before configure, we need to not be exposed until we know that we don't want a shell surface. Change-Id: Ida7101a99f953d02cf6401e4ea8d28cfabd6e102 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com> Reviewed-by: David Edmundson <davidedmundson@kde.org>
* | | client: rework xkb context/keymap/state handlingGatis Paeglis2019-04-156-64/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Use smart pointers from xkbcommon_support-private. - Remove needless strdup() calls. - Don't recreate context. And move it into qwaylanddisplay so it can be shared in future between several keyboards. It contains things like a logging level and include paths. Change-Id: I5d1f667e710046e6b62aa2caf82fdb2decc24520 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | client: rework input method handlingGatis Paeglis2019-04-1514-105/+378
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing solution was parsing compose tables on startup, it is better to lazy initialize the compose table/state on a first key press, instead of doing it on an application startup. This logic is inside of the compose input plugin. The existing code did not utilize correctly how Qt handles complex text input. It used libxkbcommon-compose APIs to compose user input and then passed the same input again to QPlatformInputContext (from QWaylandInputDevice::Keyboard::sendKey), which was erroneous. This also means that code was forcing "xkb compose", and did not respect QT_IM_MODULE at client-side. From commit that added compose key handling (57c4af2b18c0fb1d266b245a107fa6cb876b9d9e): "We should expand on it in the future to handle things like resetting the compose state on text field switching". This is now handled by properly utilizing Qt IM framework. Converted QWaylandInputDevice::Keyboard::sendKey into a class member function to avoid adding one more arg (mXkbContext) to the already long argument list. That whole function should be simplified, but that is out-of-scope for this patch. The reworked code uses qxkbcommon support library to reduce code duplication between platforms and to unify behavior. Some users might mistakenly think that this patch introduces a regression with Qt on KDE, but it is actually a KWin/Wayland compositor bug: https://bugs.kde.org/show_bug.cgi?id=405388 The work around on KDE is to use QT_IM_MODULE at client-side to select input method, as KWin compositor over the wire supports only the qtvirtualkeyboard module. Setting this envvar is not someting out of the ordinary for users on Linux. Input method handling at compositor-side is new feature and clearly not very well supported yet. Task-number: QTBUG-65503 Change-Id: Ie511d950396fa2fb6cbe6672996cee9791f3ab11 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Client tests: Fix tst_xdgShell::pongs when run as the only testJohan Klokkhammer Helsing2019-04-111-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The shell integration is initialized lazily, so it's not possible to send ping events to the client before the first window has been initialized. This adds a simple window to the pong test. Change-Id: I13b4a9cb802b7abe18bfc23cf8c75eb873ded3ca Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | tst_xdgshell::showMinimized: Really make sure the window was createdJohan Klokkhammer Helsing2019-04-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The surface(), may be a leftover cursor surface from earlier tests. Check for an xdgSurface instead, as those are verified to be cleaned up between tests. Change-Id: I6a2b402130814e896d335787fcb90fd8d57cafb7 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Client: Avoid shadowing QPlatformWindow::windowGeometryDavid Edmundson2019-04-113-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | windowGeometry is an existing method in QPlatformWindow with an entirely different meaning to the newly added QWaylandWindow::windowGeometry. This led to the existing call in resizeFromApplyConfigure calling the wrong method. Change-Id: Ib344cf09178e77e5b4d5427325d840346663ec9d Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | [docs] Some edits to match the Wayland and Qt overview documentationv5.13.0-beta2Kavindra Palaraja2019-04-091-61/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Updating this topic to only mention QtWayland. The general Wayland overview is now moved to "Wayland and Qt". Task-number: AUTOSUITE-679 Change-Id: Ica86edc3ffd162ea722fd97e2b47a18d702bb463 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Compositor: Don't destroy wl_display from platform integrationJohan Klokkhammer Helsing2019-04-082-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | If the platform integration provides the wl_display, it should be the platform integration's responsibility to destroy it as well. Task-number: QTBUG-74879 Change-Id: I18999a5bd8cdc2900cac86f156f2adaaebf86158 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-067-10/+22
|\| | | | | | | | | | | Change-Id: I16bc2e214dda4c8d6c9fc3568af60068815fc558
| * | compositor: fix QWaylandShell private objects inheritanceChristophe Chapuis2019-04-035-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the public API has inheritance relationships, this should be reflected in the private classes too. Otherwise the d_func will cast to a wrong type, leading to crashes. Change-Id: Iad2dccad4b63326e6b108a44c708ab51f0784678 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | Client xdg-shell v5: Fix crash when creating a popup without a valid parentJohan Klokkhammer Helsing2019-04-022-4/+12
| |/ | | | | | | | | | | Fixes: QTBUG-72696 Change-Id: I43f0a02a4447238aa93142981d22597c452790fd Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Use a dedicated EGLContext for the decorations blitterGiulio Camuffo2019-04-052-148/+59
| | | | | | | | | | | | | | | | | | This allows to drop all the StateGuard code, reduce OpenGL state changes when blitting and to also support windows that requested an OpenGL Core context. Change-Id: Ie507a14a04b3d26cdf31f68973057553fa8493bf Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Fix build - screen maintenance functions moved to QWSIJesus Fernandez2019-03-291-3/+4
| | | | | | | | | | | | | | | | | | This is an ammendment to 01e1df90a7debd333314720fdd5cf6cd9964d796 in qtbase. Task-number: QTBUG-74816 Change-Id: I493ff0f64f765683d2398c32626ada28d7f202b5 Reviewed-by: Liang Qi <liang.qi@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.12' into 5.13" into ↵Liang Qi2019-03-270-0/+0
|\ \ | | | | | | | | | refs/staging/5.13
| * | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-270-0/+0
| |\| | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Ic6c2ec0c4d0a0d4e0c94857020d3804ce9cf9ff6
| | * Bump versionKari Oikarinen2019-03-211-1/+1
| | | | | | | | | | | | Change-Id: I628b1d9c25ed6fb2fb62563a214040797df0758f
* | | docs: Fix qdoc warningsKavindra Palaraja2019-03-274-3/+103
|/ / | | | | | | | | | | | | * Added some missing documentation Change-Id: I214b108c084aeff501bed85845153aa80fa61e6d Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Fix compilation with QT_NO_WARNING_OUTPUTKai Koehne2019-03-222-14/+15
| | | | | | | | | | | | | | | | | | | | Use qCWarning instead of qWarning if logging into a category. This fixes compilation with QT_NO_WARNING_OUPUT, but in addition also avoids unnecessary string formatting if the category is disabled. Fixes: QTBUG-74359 Change-Id: I0e316a833f3f7d4a9122377a1154e739bcb080b1 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | BRCM: fix namespace confusionGeorg Leugner2019-03-222-2/+3
| | | | | | | | | | Change-Id: I146dd41d54889af694b829bf1e6d47e03e892b27 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Fix documentation for bufferLocked propertySimon Hausmann2019-03-191-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | Commit 2824a71e5c28ec1843edc056f2c17c6274378f1d silenced the qdoc warning about the bufferLocked property, but it did not fix the underlying problem that the existing documentation would be shown. This patch reverts the change and fixes it by making the \property command match the name of the property, not the getter. Similarly, the \qmlproperty annotation was missing entirely. Change-Id: I66281ea4df0162b14ebfab15f1cc18162ea0e8ef Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | [docs] Fix qdoc warningsKavindra Palaraja2019-03-194-9/+10
| | | | | | | | | | Change-Id: I57e89057a238064e1270d036b656d261b85e50e7 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | [doc] Fix mismatch in function signature to address a qdoc warningKavindra Palaraja2019-03-191-1/+1
| | | | | | | | | | | | | | * In the header file, this was uint32_t Change-Id: I5c2e343a2f8ec04b71ef4db577062b5c76f64c72 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-164-5/+45
|\| | | | | | | Change-Id: I6d63f7390a3d26ce8c63c8e5de63b673d6831395
| * Merge remote-tracking branch 'origin/5.12.2' into 5.12Qt Forward Merge Bot2019-03-151-0/+24
| |\ | | | | | | | | | Change-Id: Ib5989d03612370116193266742e26094700be5c9