summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Fix crash when closing windows via XDG sendCloseRobert Griebl2019-08-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This crash only occurs on a few machines running autotests for the application-manager, but it's happening consistently on the affected machines. Change-Id: I4533379580b7c1f62e4f45bf223d73aac3e8d5b7 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Fix GCC 4.8 buildVille Voutilainen2019-08-092-18/+21
| |/ |/| | | | | | | Change-Id: I0a193ceaa1549c08acad02b59db62ae313d6b334 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Fix use of private dependencyPier Luigi Fiorini2019-07-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | With 0761173a, Linux SPI Accessibility bridge was added to the Wayland QPA plugin, but this had a bad side-effect to QtWaylandClient. Linux Accessibility support is a private module, this means we have to link to it with QT_PRIVATE not QT, otherwise CMake and pkg-config files for Qt5WaylandClient will depend on it. Change-Id: I6182267f97adc2cd5bd66895df148a6a45614f45 Fixes: QTBUG-76042 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.12' into 5.13"Qt Forward Merge Bot2019-07-113-31/+81
|\ \
| * \ Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-07-113-31/+81
| |\ \ | | |/ | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I436405677453e7df43258363c0d5c88d7b3790d0
| | * Fix compilation with C++20Marc Mutz2019-07-081-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Implicit capture of 'this' in [=] is deprecated in C++20. Fix by using explicit captures. Change-Id: Ie3a94ec60d7c56b2856d201fa3d68d0670bdd7b9 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
| | * Bump versionFrederik Gladhorn2019-07-011-1/+1
| | | | | | | | | | | | Change-Id: If69992b414824405267ea0d8c20b9f1bd996944b
| | * Client: Reset frame callback timer when hiding a windowDavid Edmundson2019-07-011-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we hide a window whilst a compositor has a pending frame to show, it's possible the compositor will not render the frame and not return the callback. If this happens on the next window expose we can be left with mFrameCallbackTimedOut still true causing isExposed() to remain false and us to not send the next buffer when we later show the window again. Change-Id: I507410415d1a930fd5fa736412055e68fdf6c1d3 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| | * Client: Fix stuttering when the GUI thread is busyJohan Klokkhammer Helsing2019-06-202-29/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we did invokeMethod for handling the frame callbacks, we had to wait for the GUI thread to finish whatever it's doing before we would stop blocking. Fix it by clearing the frame callback timer and stop blocking immediately, while delaying the rest of the work until it can be run on the other thread. Fixes: QTBUG-76397 Change-Id: I343e4feac4838926b4fa2ccac2948988bc6c3bb7 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * Merge "Merge remote-tracking branch 'origin/5.12.4' into 5.12"Qt Forward Merge Bot2019-06-172-1/+41
| | |\
| | | * Merge remote-tracking branch 'origin/5.12.4' into 5.12Qt Forward Merge Bot2019-06-172-1/+41
| | | |\ | | |/ / | | | | | | | | Change-Id: I7ad83f19cf9f47b40088a56d4182514bf5b83508
| | | * Client: Don't add all windows to activePopupsv5.12.45.12.4Johan 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)
| | | * Add changes file for Qt 5.12.4Johan Klokkhammer Helsing2019-05-281-0/+39
| | | | | | | | | | | | | | | | | | | | Change-Id: I3402a5297448aa4f4e0703ffbae897f00f0f6577 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | | * Bump versionFrederik Gladhorn2019-05-231-1/+1
| | | | | | | | | | | | | | | | Change-Id: I76df7709ee1e21440c647a4419900800edfacac2
* | | | Doc: Replace example file lists with links to code.qt.ioTopi Reinio2019-07-091-0/+1
|/ / / | | | | | | | | | | | | | | | Task-number: QTBUG-74391 Change-Id: Iac93aa49419d8485fcc2076136c190533782e188 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | | Fix compilation with C++20Marc Mutz2019-07-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Designated initializers (a C99 feature) made it into C++20, but the current code, which, presumably, was using a GCC extension, ran afoul of the rule that either all initializers must be designated ones, or none. Fix by naming the .plane member, too. Change-Id: Id302787331cfe0f2976250ec2c6b86a6946c8016 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | | Bump versionFrederik Gladhorn2019-07-011-1/+1
| | | | | | | | | | | | Change-Id: Ib38bf7b8a1c8062696849c455c3974051bac6cb6
* | | Merge "Merge remote-tracking branch 'origin/5.13.0' into 5.13"Qt Forward Merge Bot2019-06-202-0/+119
|\ \ \
| * \ \ Merge remote-tracking branch 'origin/5.13.0' into 5.13Qt Forward Merge Bot2019-06-202-0/+119
| |\ \ \ |/ / / / | | | | | | | | Change-Id: I3b0e0899cfcd738ddf45b4211f86e1079d6e4988
| * | | Client: Don't add all windows to activePopupsv5.13.0-rc3v5.13.0-rc2v5.13.05.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>
* | | | Doc: Fix link errorsNico Vertriest2019-06-181-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I3854d7310259d1ce9f474d09f2b6dfdfbca8434a Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | | | Merge "Merge remote-tracking branch 'origin/5.12' into 5.13"Qt Forward Merge Bot2019-06-151-1/+4
|\ \ \ \
| * \ \ \ Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-06-151-1/+4
| |\ \ \ \ |/ / / / / | | | _ / | | | / Change-Id: I3b4132c4824a5312e7af0ca5659bd34269cb02fe
| * | | Don't crash if we start a drag without dragFocusAleix Pol2019-06-141-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes origin will be nullptr, triggering a crash. [ChangeLog][QPA plugin] Fixed a crash that sometimes happened when starting a drag-and-drop operation. Fixes: QTBUG-76368 Change-Id: I8f4e6b05f073644834c3c72a8307dac5b897f626 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | | Merge "Merge remote-tracking branch 'origin/5.12' into 5.13"Qt Forward Merge Bot2019-06-084-2/+23
|\ \ \ \
| * \ \ \ Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-06-084-2/+23
| |\ \ \ \ |/ / / / / | | _ / / | | / / Change-Id: Ie2469da765326e1e2da35c0311c0405b0a691bfa
| * | | Client: Don't add all windows to activePopupsJohan Klokkhammer Helsing2019-06-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | Compositor: Map touch ids to contiguous idsJohan Klokkhammer Helsing2019-05-222-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The protocol doesn't require this, but some clients seem to depend on it nevertheless. Fixes: QTBUG-75667 Change-Id: I47491c396d3c9193c7e51e13c7ca1586246e335c Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> (cherry picked from commit 869a38c082daf150a16b2abb230b420de3e4af31)
| * | | Fix compile error with -no-openglJohan Klokkhammer Helsing2019-05-291-0/+2
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Compositor] Fixed a build error when configured with -no-opengl. This is the same fix as in dev's 8663de3f, but leaves the QML APIs disabled. Fixes: QTBUG-76104 Change-Id: I9807144e0c0cf33d421c7c6adcb2664e1e67368c Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
* | | Avoid creating decoration whilst Xdg Decoration is pending configureDavid Edmundson2019-05-233-1/+10
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently even when we are on on a compositor with SSDs we always create a decoration instance only to discard it. Not only is this somewhat wasteful, it creates sizing problems as the frame geometry changes, leading to constantly expanding windows on kwin. This patch assumes that if we have a decoration manager we should have no decoration until it is configured to do so. This is safe because we request a mode in the constructor, a compositor must reply with a configure event and we shouldn't be showing any buffers until the first configure event is received. Behavior without a decoration manager is unchanged Change-Id: I72b2cf4423fe6461ba405612262f76cefe4d6201 Reviewed-by: Johan Helsing <johan.helsing@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.35.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>