summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add configuration file to help the coin ExportTool to split the contentv5.14.0-beta3Simon Hausmann2019-11-051-0/+11
| | | | | | | | | | | By default all files shall be in the base package, but additional packages can be specified in the top-level object by name along with python glob.glob compatible masks. Task-number: COIN-349 Change-Id: Ic0e2bae67d7c8a596f249ce527bb58c0a50d7ab2 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Antti Kokko <antti.kokko@qt.io>
* Merge remote-tracking branch 'origin/5.13' into 5.14Liang Qi2019-11-056-5/+75
|\ | | | | | | | | | | | | | | Conflicts: src/client/qwaylanddisplay.cpp src/client/qwaylandwindow.cpp Change-Id: I30ddf5305b3087b93cf4d6e562fd0146dea61cc0
| * Add client test for subsurface with hidden parentJohan Klokkhammer Helsing2019-11-041-0/+23
| | | | | | | | | | | | Task-number: QTBUG-79674 Change-Id: I451ee4423dee511f41070498a61167912920c086 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Client: Fix crash when showing a child window with a hidden parentJohan Klokkhammer Helsing2019-11-042-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QPA plugin] Fixed a crash when showing a window with a hidden parent. Now we just avoid creating the subsurface, so nothing is shown. Seems to be the same behavior as on xcb. Fixes: QTBUG-79674 Change-Id: Ia46fcd9a0da5aad4704816a41515cb1e128ac65f Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Add basic client test for subsurfacesJohan Klokkhammer Helsing2019-11-043-1/+43
| | | | | | | | | | Change-Id: I1ef21287933a2afccad989f47e4fe59329b6f537 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Client tests: Fix flaky deadlockJohan Klokkhammer Helsing2019-10-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes the test would wait indefinitely in the compositor constructor, while also waiting in the compositor thread for m_ready to become true. m_ready is set to true in applicationInitialized(), which is supposed to be called from the client thread after QGuiApplication has been created (and also after the MockCompositor constructor has returned). I.e. the problem is that the wake in MockCompositor::run may sometimes happen before the MockCompositor::MockCompositor starts waiting. Move the wake inside the pre-initialized compositor loop. Essentially waking every 20 ms until the application is initialized. Fixes: QTBUG-66570 Change-Id: Ia5eba5d08ce4d1d3eeca99eae6cfa7d9d4fd5a0b Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Merge remote-tracking branch 'origin/5.13' into 5.14Johan Klokkhammer Helsing2019-10-314-3/+73
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: If2159587c5183fcf57558f045bd9af2f25c8289f
| * Set temporary XDG_RUNTIME_DIR for more testsJohan Klokkhammer Helsing2019-10-313-3/+6
| | | | | | | | | | | | | | | | | | Some tests were left out when we switched to using a temporary XDG_RUNTIME_DIR. Fixes: QTBUG-79652 Change-Id: I8208d63f3f6a937406d25b1a8cf3f5b0be04bc73 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| * Merge remote-tracking branch 'origin/5.13.2' into 5.13Qt Forward Merge Bot2019-10-302-1/+68
| |\ | | | | | | | | | Change-Id: I677effc9e146875049ac28f094f1a129f27755d8
| | * Add changes file for Qt 5.13.2v5.13.2Johan Klokkhammer Helsing2019-10-151-0/+67
| | | | | | | | | | | | | | | Change-Id: Icfb0c2bcbf6ae9705da93480c8113fe5baccf33a Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * Bump versionFrederik Gladhorn2019-10-141-1/+1
| | | | | | | | | | | | Change-Id: I5c9a25629d55b97d839904f73b3bf5cf91ce337e
* | | Compositor: Use logging category in egl client integrationJohan Klokkhammer Helsing2019-10-301-16/+29
| | | | | | | | | | | | | | | Change-Id: I5ad3663b3710b939f08798abad3bc985ab460e88 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Compositor: Warn and clean up when server buffer integrations failJohan Klokkhammer Helsing2019-10-2813-36/+53
| | | | | | | | | | | | | | | | | | | | | | | | Makes it consistent with how client buffer integrations work. Also doesn't leave partially initialized integration around for the compositor to use. Change-Id: I6ff898639b958f62330879a2eff1acbc7e5cdb1f Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Remove unused variable WaylandEglClientBufferIntegrationPrivate::validJohan Klokkhammer Helsing2019-10-281-2/+0
| | | | | | | | | | | | | | | Change-Id: I489267d8378cbcaf7ae7cd8eee48d4e2a71ca91a Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | Update plugins.qmltypes for 5.14Johan Klokkhammer Helsing2019-10-281-1/+48
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-78690 Change-Id: Id6208ff504894844e3eee5bb5c21ddb07c456cfe Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-10-264-3/+6
|\| | | | | | | | | | | Change-Id: Ie283d8861ecf11f21621ab18efdc780143559b52
| * | Client tests: Set WAYLAND_DISPLAYJohan Klokkhammer Helsing2019-10-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The tests would previously fail if WAYLAND_DISPLAY was set to something other than empty or wayland-0. For instance when running multiple compositors and trying to run the tests, they would fail because they create a compositor on wayland-0 (using wl_display_add_socket_auto()), but would try to connect to wayland-1 due to the env var. Change-Id: I7771d41737410d5c32f5a6db3de4987096cb4d22 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | Compositor: Fix crashes when destroying uninitialized surfacesJohan Klokkhammer Helsing2019-10-222-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This happened when running qmlplugindump for QtWayland. [ChangeLog][Compositor] Fixed a crash when destroying WaylandSurfaces and WlShellSurfaces which had not yet been initialized. Change-Id: Ia35cc1ccddc6146453d4dbba0ffd41a012a526e3 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | Compositor: Fix access to member of null referenceJohan Klokkhammer Helsing2019-10-221-1/+1
| | | | | | | | | | | | | | | | | | | | | This could happen if there were no seats. Change-Id: I4c88a5768289e2ac8a736efaa14e37d499de01c9 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Compositor: Warn and clean up when client hardware buffer integrations failJohan Klokkhammer Helsing2019-10-2514-73/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We've recently seen a number of performance issues on bugreports and on the mailing list. The problem in many of these cases, is that no client hardware buffer plugin is used. I.e. it's just due to our fallback to CPU buffers when the compositor is configured incorrectly or run in a setup where hardware buffers are not available. This patch detects when client hardware buffer plugins fail and prints a warning explaining the issue to the console. This will make it easier to differentiate between expected and unexpected drops in performance and will hopefully also guide users in the right direction to fix their setup (set the right environment variables and perhaps recompile Qt with a supported OpenGL version). QtWayland::ClientBufferIntegration now returns a bool indicating success or failure. The integration is now destroyed immediately if it failed, instead of leaving it lying around until the compositor shuts down. There has been some slight changes in the xcomposite plugins as well, turning some qFatals into qCWarnings and failing more softly (with the warning mentioned above). Task-number: QTBUG-78483 Change-Id: I55293dbb3cf72768f3982c075fcf63e79329ada1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Fix QClipboard::ownSelection always returning falseJohan Klokkhammer Helsing2019-10-252-5/+12
| | | | | | | | | | | | | | | | | | | | | It would return false regardless of whether we owned the selection. Change-Id: I6df394d8dbceeccb6eb6d0670b4351af1a158491 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Fix missing emission of QClipboard::selectionChangedJohan Klokkhammer Helsing2019-10-243-1/+40
| | | | | | | | | | | | | | | | | | | | | And add a test to verify we've fixed it. Change-Id: Ic6d5e64b3000444465935f7caf7e32ec9c4f1012 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Add client test for clipboard when losing keyboard focusJohan Klokkhammer Helsing2019-10-232-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | Also, verifies that we fixed a recent bug about QClipboard::dataChanged not being emitted when the clipboard is invalidated due to losing focus. Change-Id: Ie92b618a4f673c21d6582979249700aef8785536 Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* | | Signal clipboard change when focus lost clears the selection offerPekka Vuorela2019-10-221-0/+7
| | | | | | | | | | | | | | | Change-Id: I311a5d422f31347029795dbd2479a771ae93c01f Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Fix url getting broken on openUrlPekka Vuorela2019-10-211-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | UTF-8 byte array cannot be split in random position and assume getting valid content on resulting parts. Switched chunk size to be based on characters, encoded size will vary but don't think that should matter. Change-Id: Ic41ea16d2111b1620993b60fdbc6e739929f25d7 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Client: Print a warning when trying to set clipboard without a seatJohan Klokkhammer Helsing2019-10-211-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | This warning can save some time when trying to understand why some qtbase auto tests are failing on headless Weston (which doesn't have seats at the moment). Change-Id: I361546611d12bff8a465af5bb103f61e80d73a15 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | Merge remote-tracking branch 'origin/5.13' into 5.14Johan Klokkhammer Helsing2019-10-216-42/+21
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/client/qwaylandwindow.cpp tests/auto/compositor/compositor/tst_compositor.cpp Change-Id: Iacfcae577a4a99c847694ae3a2c6e3e9ae050817
| * | Client: Fix 100ms freeze when applications do not swap after ↵Johan Klokkhammer Helsing2019-10-172-38/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | deliverUpdateRequest [ChangeLog][QPA plugin] Fixed a 100 ms freeze that would occur if applications did not draw after receiving a deliverUpdateRequest(). QtQuick does this at the start of animations. This should get rid of those backingstore warnings (and also remove a 100ms freeze before animations start in those instances). Fixes: QTBUG-76813 Change-Id: Id366bf4a14f402fa44530ae46e7b66d9988c14f6 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: John Brooks <john.brooks@qt.io>
| * | Fix build: Use temporary directories for tests' XDG_RUNTIME_DIRJohan Klokkhammer Helsing2019-10-144-4/+12
| |/ | | | | | | | | | | | | | | | | Using XDG_RUNTIME_DIR="." does not work after qtbase 5542785, and it was a rather brittle solution anyway. Fixes: QTBUG-79185 Change-Id: Iaf9ced66709cc6cbac8a2d54efc64e1a8c528561 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Update QtWaylandCompositor license headers to GPL 3v5.14.0-beta2Paul Olav Tvete2019-10-16196-2940/+980
| | | | | | | | | | | | | | | | | | | | | | | | As announced on the mailing list, QtWaylandCompositor licensing is changing to GPLv3: https://lists.qt-project.org/pipermail/development/2019-October/037666.html Change-Id: I4bdc1aa5914e53ac760acc2b6453355af636baa9 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-10-121-4/+12
|\| | | | | | | Change-Id: If684b523436a1beec36a137c73c5c39c948f87e3
| * Compositor: Remove unused local variableJohan Klokkhammer Helsing2019-10-041-1/+0
| | | | | | | | | | | | | | | | Was shadowed in 11f2e7df5 when fixing QTBUG-78969. Task-number: QTBUG-78969 Change-Id: I933373b5233ae8b45cdab7c3ffd14a1502486ae8 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| * Compositor: Fix crash when trying to maximize an XdgToplevel with no outputJohan Klokkhammer Helsing2019-10-041-3/+12
| | | | | | | | | | | | Fixes: QTBUG-78969 Change-Id: I4ecde3725b5307251070e331c97d96df328a3772 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Merge remote-tracking branch 'origin/5.13' into 5.14v5.14.0-beta1Qt Forward Merge Bot2019-10-012-2/+15
|\| | | | | | | Change-Id: Ie236fa47c23456b15414c3b3e89568b915979ebe
| * Client: Don't crash with long window titles using UTF-16 charactersJohan Klokkhammer Helsing2019-09-252-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, we set the max length in QString character length, which means UTF-16 characters (of potentially three bytes) counts as one character. The max limit of libwayland, however, is in bytes (and the string itself is converted to UTF-8). Fix it by dividing the character limit by three because in the worst case each UTF-16 character will use three bytes when UTF-8 encoded. Fixes: QTBUG-78478 Change-Id: Idf4721894e0fe6f3cd92bdc6ada7b0ea4199ea63 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Client: Create context menu event when pressing the menu keyDavid Edmundson2019-09-271-1/+12
| | | | | | | | | | | | | | | | | | | | | | Effectively is a copy of the code in XCB. When the menu key is pressed, a context menu event should be generated at the current cursor position. The global position in the event isn't truly global as that doesn't exist in wayland but should match client expectations. Change-Id: Ib814883aba632ca5eec58730846e1762b680467f Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.13' into 5.14"Qt Forward Merge Bot2019-09-253-5/+2
|\ \
| * | Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-09-243-5/+2
|/| | | |/ | | | | | | | | | | Conflicts: sync.profile Change-Id: I6f6d44ec285d37e64e430303ef9a87ac7aaf3eb9
| * Mock client: Add missing include for QMapJohan Klokkhammer Helsing2019-09-211-0/+1
| | | | | | | | | | | | | | Task-number: QTBUG-78177 Change-Id: I123e129f09ce8599e68be710147b07235ae9462a Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| * Fix wrong target name for tst_client_fullscreenshellv1Johan Klokkhammer Helsing2019-09-201-1/+1
| | | | | | | | | | | | Task-number: QTBUG-78177 Change-Id: Id44794523511241b408e79383e438e52f769d62a Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| * Don't try to inject non-existent generated headers for xdg-shell v5Johan Klokkhammer Helsing2019-09-171-4/+0
| | | | | | | | | | | | | | | | | | | | We use a hand edited version for xdg-shell-v5, which is added through src/plugins/shellintegration/xdg-shell-v5/pregenerated/xdg-shell-v5.pri so we shouldn't need to add it through sync.profile. Fixes: QTBUG-78210 Change-Id: Ida60f98c950b74132bd526cf44a4bf667cdce730 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * sync.profile: remove two headersLiang Qi2019-09-171-2/+0
| | | | | | | | | | | | | | | | | | Because they were checked in at 618d5093d5de082f9aaf32cca778c5eae6a8548d. Fixes: QTBUG-76439 Change-Id: I1809b1424262dfe39e6cc177eec487d9ca364337 (cherry picked from commit b90a57a66f0862d8953d0b858d4e11007172cc79) Reviewed-by: Liang Qi <liang.qi@qt.io>
* | Client: Test that wl_touch.up events don't split touch framesv5.14.0-alpha1Johan Klokkhammer Helsing2019-09-201-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have a workaround for Weston not sending wl_touch.frame events after the last wl_touch.up event. It calls Touch::touch_frame to generate a fake event. The problem, however, is that it used to erroneously do this on wl_touch.up events even when it was not for the last touch point. This in turn, lead to extra frame events being inserted in the middle of a touch sequence, effectively splitting up one touch frame into multiple. Accumulated touch state would be handled prematurely, preventing wl_touch.cancel from working correctly for instance. This tests that we've stopped doing that. Change-Id: Ic545bbb18c23b827e5fa07a642a374094d720dae Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Add client test for multi touch motionJohan Klokkhammer Helsing2019-09-173-0/+86
| | | | | | | | | | | | | | | | | | Make sure touchPoint order doesn't change even though the compositor event order does. Task-number: QTBUG-77014 Change-Id: If6b8a930344836ca52cc12fe7f29c8ac863d81ba Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Blacklist tst_seatv4::animatedCursor() in b2qtLiang Qi2019-09-171-0/+2
| | | | | | | | | | | | Task-number: QTBUG-78317 Change-Id: I66e35782470cedd4d3cfeed6ffdfd8d54bc0ba26 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* | Compositor: Expose QPointF version of inputRegionContainsJohan Klokkhammer Helsing2019-09-163-7/+7
| | | | | | | | | | | | | | | | | | QWaylandSurface::inputRegionContains(const &QPointF) was added in a patch release. Expose it here and start testing it. Task-number: QTBUG-77457 Change-Id: I9e5e487e1d93a2b1873a7e219eed9ef6b0a418b5 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Add client test for floating point touchJohan Klokkhammer Helsing2019-09-161-0/+32
| | | | | | | | | | | | Task-number: QTBUG-77457 Change-Id: I49df80f3e00d349fed273363cd2625b841c085c5 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.13' into 5.14"Johan Klokkhammer Helsing2019-09-1638-133/+481
|\ \
| * | Merge remote-tracking branch 'origin/5.13' into 5.14Johan Klokkhammer Helsing2019-09-1638-133/+481
|/| | | |/ | | | | | | | | | | | | | | | | | | | | Conflicts: src/client/qwaylanddatadevice.cpp src/client/qwaylandinputcontext.cpp src/client/qwaylandinputdevice.cpp src/client/qwaylandwindow.cpp src/compositor/compositor_api/compositor_api.pri src/compositor/compositor_api/qwaylandquickitem.cpp Change-Id: Ice0d8c7d869c9c46113d6ee6ba3adf895a71d58f
| * Fix detection of wayland-kms supportYuya Nishihara2019-09-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We get around the "private" symbol found in wayland-kms.h by substituting it with "priv", but doing that breaks the "private:" keyword in type_traits.h. So this patch forcibly includes math.h prior to s/private/priv/. main.cpp:3:17: error: ‘priv’ does not name a type #define private priv ^ In file included from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/c++/6.3.0/cmath:43:0, from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/c++/6.3.0/math.h:36, from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/wayland-util.h:34, from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/wayland-server-core.h:32, from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/wayland-kms.h:38, from main.cpp:4: /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/c++/6.3.0/ext/type_traits.h:71:24: error: ‘__if_type’ has not been declared typedef typename __if_type::__type __type; ^~~~~~~~~ main.cpp:3:17: error: ‘priv’ does not name a type #define private priv ^ In file included from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/c++/6.3.0/cmath:43:0, from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/c++/6.3.0/math.h:36, from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/wayland-util.h:34, from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/wayland-server-core.h:32, from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/wayland-kms.h:38, from main.cpp:4: /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/c++/6.3.0/ext/type_traits.h:114:24: error: ‘__if_type’ has not been declared typedef typename __if_type::__type __type; ^~~~~~~~~ Change-Id: I2b42f37d5565833adcc065725119ab4912da82b0 Reviewed-by: Johan Helsing <johan.helsing@qt.io>