summaryrefslogtreecommitdiffstats
path: root/src/compositor
Commit message (Collapse)AuthorAgeFilesLines
* Compositor: Deprecate XdgShell unstable v6Johan Klokkhammer Helsing2020-02-055-0/+28
| | | | | | | | | | | | A stable version of XdgShell has been released. Since most clients now support stable and v6 is almost a copy of stable. Most people that use v6 can probably just switch over to stable with minimal issues. [ChangeLog][Compositor] XdgShellV6 has been deprecated, use XdgShell instead. Task-number: QTBUG-81853 Change-Id: I1f5affe7ab0f6a1a0fe19f3a01ee146fb3bfeecf Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Compositor: Deprecate XdgShell unstable v5Johan Klokkhammer Helsing2020-02-055-0/+26
| | | | | | | | | | | | | A stable version of XdgShell has been released. Since xdg-shell v5 is quite different from both the stable version and wl-shell with regards to how configure events work, it would be a maintenance burden to keep supporting it in Qt 6. [ChangeLog][Compositor] XdgShellV5 has been deprecated, use XdgShell instead. Task-number: QTBUG-81853 Change-Id: I06ffc676cb8c9c1a46de30eef59ceef8bb0ff7a3 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Turn QNX key codes into xkbcommon key codesJames McDonnell2020-01-311-0/+9
| | | | | | | | | | This just requires adding 8 to the key code when the platform plugin is qnx. Inherited from evdev which inherited it from XKB. It's easier to conform to the requirement than remove it. Change-Id: Icd32ebf27256f29405821c7c8b7b8d93ff7f8fe0 Reviewed-by: Dan Cape <dcape@qnx.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Implement missing changed signals to propertiesPier Luigi Fiorini2020-01-104-6/+15
| | | | | | | | | QML cannot do property binding with properties without CONSTANT or NOTIFY. Also emit changed signal where it's not. Change-Id: I5117383e22085af08589f6aa05892676c24f3846 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Merge remote-tracking branch 'qt/5.14' into 5.15Paul Olav Tvete2020-01-091-2/+5
|\ | | | | | | Change-Id: I21c6a0a4bc8df8dcaf9e33647482ba43c7b7d6c4
| * Avoid potential double deletionPaul Olav Tvete2020-01-091-2/+5
| | | | | | | | | | | | | | | | It's not safe to use qDeleteAll on lists that change when elements are deleted. Change-Id: I7ec5b41da9eea839d1bda88bde621cc73a27927f Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Fix compiler warningsPaul Olav Tvete2020-01-085-11/+11
| | | | | | | | | | Change-Id: Ie0bed19704bed89044d3cf25e7aaa1f740a4b39a Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Add missing qAsConst for texture sharing extensionJohan Klokkhammer Helsing2020-01-021-2/+2
| | | | | | | | | | Change-Id: Ic6b2b0f50812ffc95b1019dd5a704d6fc4b4ec8e Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Adjust the Wayland Vulkan configuration testsJames McDonnell2019-12-061-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Define VK_USE_PLATFORM_WAYLAND_KHR before the vulkan.h include so the test will fail if the Wayland WSI header doesn't exist. Require features.vulkan so that vulkan related code won't build when --disable-vulkan is used. Change-Id: I275efcb3e728b59c6f99598c235074b941f1fbf0 Reviewed-by: Dan Cape <dcape@qnx.com> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-12-031-2/+2
|\| | | | | | | | | | | | | Conflicts: src/compositor/configure.json Change-Id: Id608424a63a4bcef4adb3f66d55a3cc32c86f2a2
| * Fix detection of linux-dmabufJohan Klokkhammer Helsing2019-11-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | On some systems drm_fourcc.h is not in /usr/include, but in /usr/include/libdrm, and that path can be found through pkg-config. This is already done with the drm lib in qtbase/src/configure.json so this just tells the test (and the plugins) to use the include paths for the existing "drm" lib. Fixes: QTBUG-80075 Change-Id: I84c8c1008724b49b6bedb4fc3ef398e292f1c6c7 Reviewed-by: Andreas Cord-Landwehr <cordlandwehr@kde.org> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-11-2311-24/+89
|\| | | | | | | Change-Id: If5fcfe5252c1ac1db63ec77136b186a104280b57
| * Doc: Fix documentation warningsTopi Reinio2019-11-1311-24/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add missing function and function/qml method parameter documentation, linking issues, and other minor tweaks. QDoc fails to parse a Q_PROPERTY if the property type includes the keyword 'enum' - fix that in the header file for QWaylandXdgToplevel::DecorationMode. These changes bring the currect warning count to zero. Fixes: QTBUG-79817 Change-Id: I302b110eb91858f06e9cd410872a12365d421a8e Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Compositor: Use RHI-compatible APIJohan Klokkhammer Helsing2019-11-151-1/+2
| | | | | | | | | | | | | | | | Egl clients now work when the compositor is started with QSG_RHI=1 and QSG_RHI_BACKEND=gl in the environment. Change-Id: I4ebcee174c86dd65470d41b5799c12def6b68f85 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Simon Hausmann2019-10-315-9/+23
|\| | | | | | | Change-Id: I29524a74e495dd46c0dc5d0a0d10e41e55526f14
| * Compositor: Warn and clean up when server buffer integrations failJohan Klokkhammer Helsing2019-10-283-7/+19
| | | | | | | | | | | | | | | | 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>
| * Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-10-262-2/+4
| |\ | | | | | | | | | Change-Id: Ie283d8861ecf11f21621ab18efdc780143559b52
| | * 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>
* | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-10-262-6/+24
|\| | | | | | | | | | | Change-Id: If09bb13aa7a0aadd5cfb8265166d3b9d1b22e2f1
| * | Compositor: Warn and clean up when client hardware buffer integrations failJohan Klokkhammer Helsing2019-10-252-6/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-10-19143-2134/+722
|\| | | | | | | | | | | Change-Id: I62ad84b48962fc119e4483a794406d8f4768ee32
| * | Update QtWaylandCompositor license headers to GPL 3v5.14.0-beta2Paul Olav Tvete2019-10-16142-2130/+710
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Compositor: Print XDG_RUNTIME_DIR and socketname when socket creation failsJohan Klokkhammer Helsing2019-10-181-2/+2
| | | | | | | | | | | | | | | Change-Id: I652e58ae537103b6f97bc74ba2aca6a75b3a7e6b Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | Add missing config tests for wayland, glx, xcompositeJoerg Bornemann2019-10-081-4/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The intention of 9e87541 was to inline all the tests and delete the rest. Unfortunately, some tests were deleted without being inlined, which led to the tests failing, which in turn led to nothing being built. This was not detected by coin, as configure currently passes although nothing is built. Fixes: QTBUG-79057 Change-Id: Ib09538ebf4b2d369d0fc1087f4b8fbea93d8c5b3 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | Convert most config tests to configure.json inline formatJohan Klokkhammer Helsing2019-09-201-5/+74
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | And remove the now unused entries in config.tests. Now only the wayland-scanner test remains, as that uses qmake features that do not easily translate to the inline format. This makes it much easier to port QtWayland to cmake. This also removes some config.tests that weren't used. Task-number: QTBUG-78177 Change-Id: Ia21a0025f9fac45b9f4815ee0f196e9e5759cdc6 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Compositor: Expose QPointF version of inputRegionContainsJohan Klokkhammer Helsing2019-09-162-7/+2
| | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.13' into 5.14Johan Klokkhammer Helsing2019-09-1619-40/+69
|\| | | | | | | | | | | | | | | | | | | | | | | 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>
| * Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-09-0815-26/+29
| |\ | | | | | | | | | Change-Id: I5d587b79b96d2b44f1975419a658c259c63fa30d
| | * Compositor: Fix various input-related rounding errorsJohan Klokkhammer Helsing2019-09-064-15/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QPointF::toPoint (which is what the QPoint versions of the events use internally) uses qRound, which is not the right kind of rounding to use with the QRegion we use for the input region. This switches to use QPointF variants instead of QPoint wherever possible, and then the correct conversion (with qFloor) is done once in the new QPointF version of QWaylandSurface::inputRegionContains(). The compositor inputRegion test has now been updated to test the new API. [ChangeLog][Compositor] Fixed various rounding errors related to touch and mouse input. Fixes: QTBUG-77457 Change-Id: Ife2365abd56a239c34eee91310ab0e698a50d4ff Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> (cherry picked from commit 7f189ec10a9b3e9825dda30d3a8f86ee2e07b97f) Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| | * Make QT_WAYLAND_COMPOSITOR_QUICK a featureUlf Hermann2019-08-2915-26/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The define was only set when building Qt, not when including public headers in application code. Therefore, the sizes of objects did not match between the client code that calls new and the constructor inside Qt. Unfortunately, adding the additional members breaks binary compatibility. This has already happened between 5.11 and 5.12. It just wasn't apparent from the headers. If we removed the members again now, we would break binary compatibility again. Therefore, the best course of action seems to be acknowledging the break and adding the members also in the headers. [ChangeLog][Compositor][Important Behavior Changes] Between version 5.11 and 5.12 binary compatibility for the wayland compositor module was broken by adding an additional member to various classes. This was not apparent from user code as the member was behind an #ifdef which would only be set while compiling Qt. As several versions of Qt incompatible to 5.11 have already been released now, rolling back the incompatible change would introduce further incompatibility. Therefore, the change is made consistent by unconditionally adding the member to the headers. Fixes: QTBUG-75677 Change-Id: I3c1ee309ad8e0cd0b6389a76fd1d91e6e2be495c Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | Compositor: Fix various input-related rounding errorsJohan Klokkhammer Helsing2019-09-054-15/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QPointF::toPoint (which is what the QPoint versions of the events use internally) uses qRound, which is not the right kind of rounding to use with the QRegion we use for the input region. This switches to use QPointF variants instead of QPoint wherever possible, and then the correct conversion (with qFloor) is done once in the new QPointF version of QWaylandSurface::inputRegionContains(). The compositor inputRegion test has now been updated to test the new API. [ChangeLog][Compositor] Fixed various rounding errors related to touch and mouse input. Fixes: QTBUG-77457 Change-Id: Ife2365abd56a239c34eee91310ab0e698a50d4ff Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | Merge remote-tracking branch 'qt/5.12' into 5.13Paul Olav Tvete2019-08-145-4/+691
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/compositor/configure.json sync.profile tests/auto/auto.pro Change-Id: Ia6d1512aa9ad49ac7f92ae88f23026dc0ee2ccc5
| | * Backport texture sharing for NVIDIAPaul Olav Tvete2019-08-135-4/+691
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit backports the Vulkan server buffer and texture sharing code from Qt 5.14 to Qt 5.12 as an opt-in feature. To enable, configure with "-feature-wayland-client-texture-sharing-experimental -feature-wayland-compositor-texture-sharing-experimental" Contains code from the following commits: Add server buffer integration based on Vulkan (commit df3a1761af2f20d59ae09a7adaa2f5b959047687) Compressed texture support for vulkan server buffers (commit f710489a341713c675cfd91d22ccd7bf8f29f4dd) Implement server-side toOpenGlTexture for Vulkan (commit 19361e7259f04b08925b1e8e99faf9460770ee7b) New texture sharing protocol and infrastructure (commit 80001cbf0451f4ba2a971fb20b80dc8e25ac604d) Change-Id: I6c36ef7fddcd4db39e80d03a822d89f15eae3434 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Add missing Q_REVISION(14) for inhibitsIdleChangedJohan Klokkhammer Helsing2019-09-131-1/+1
| | | | | | | | | | | | | | | Change-Id: Ia5aecffde9601d7249de3009910ce7fe0fed0abe Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | Compositor: Add missing \since doc tags for inhibitsIdle propertiesJohan Klokkhammer Helsing2019-09-131-0/+2
| | | | | | | | | | | | | | | Change-Id: I42056cdc57e9b7093f17825502103f1f434850d5 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | Improve QWaylandQuickShellIntegration APIPier Luigi Fiorini2019-09-0512-333/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During the API review we came up with an improved API. QWaylandQuickShellIntegration now filter events delivered to QWaylandQuickShellSurfaceItem using QObject event filter, thus we don't need a new API anymore. Change-Id: I91b05c4c8ecee56cd782f036160c569cd972abdb Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Fix build system warningPier Luigi Fiorini2019-09-041-1/+1
| | | | | | | | | | | | | | | | | | | | | Build system complains if we don't use the module name. Change-Id: Id3e2eff4851f03e0f68ea426cb3dbc2f1fc2f475 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Compositor: Respect wl_shm format when converting to a QImageJohan Klokkhammer Helsing2019-09-031-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Compositor] Fixed a bug where compositors would advertise support for numerous wl_shm pixel formats and then blindly assume everything to be ARGB32_Premultiplied. Note that this may cause expensive conversions if the format of the client and the screen differs. The solution is probably to add API for letting the compositor opt in to the formats it wants to support (except for argb8888 and xrgb8888 which are mandatory). Fixes: QTBUG-75635 Change-Id: I07ca3dd4ef9633222d53361860fc0ab99f02eae7 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Fix issues raised during API reviewPier Luigi Fiorini2019-08-293-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | Some mistakes were spotted during the API comparison between version 5.13 and 5.14. Change-Id: I4135e28deb0b21c6a0cc4715e42bf00664a111d0 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Remove usages of deprecated APIs of QWheelEventSona Kurazyan2019-08-281-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Replaced the usages of deprecated QWheelEvent::delta() and QWheelEvent::orientation() with QWheelEvent::angleDelta(). - Removed the tests for deprecated APIs. Task-number: QTBUG-76491 Change-Id: I2f9a53d3236bce8ba6cee66ec1b0b933d50518aa Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Compositor: Add xdg-output unstable v1 supportPier Luigi Fiorini2019-08-268-0/+974
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We already have a client-side implementation in the QPA plugin, and now we add the server-side implementation. In order to have a nice declarative API, we let users create a XdgOutputV1 instance and then associate it with the zxdg_output_v1 object when it is requested by the client. If the user forgets to create XdgOutputV1 beforehand we post an error to the client. To anticipate protocol version 3, we send zxdg_output_v1.done when we send wl_output.done. The multi-output example is extended using this protocol. [ChangeLog][Compositor] Added support for xdg-output unstable v1 Wayland extension. Change-Id: I1ec5913d8330cc01d7d634d05a289f4dc8b4fd22 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Remove usages of deprecated APIsSona Kurazyan2019-08-202-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Make the code related to deprecated QWaylandWlScaler compile conditionally, only when QWaylandWlScaler is enabled. - Replace the usages of deprecated APIs by the corresponding alternatives. - Fix the tests to compile when the deprecated APIs are disabled. Task-number: QTBUG-76491 Task-number: QTBUG-76541 Change-Id: Ieba98858e970868a2cbc97df2d06bae346e30d7a Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | compositor: ensure keymap always contains 'us' layoutGatis Paeglis2019-08-191-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On X11, this is ensured by keyboard configuration tools bundled with desktop environments. More details and some history is in qtbase/1aec1a2d8df182a9e15906bcfede32a9841586ea. Short version is that 'lookup latin key' algorithm relies on a latin-key-based layout being present in the XKB keymap. Change-Id: Ie985a1e6ad0995c139a51f4dab610d791dfcaf08 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | Compositor: Add idle-inhibit unstable v1 protocolPier Luigi Fiorini2019-08-167-0/+368
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allows disabling of screen blanking on a per-surface basis. [ChangeLog][Compositor] Added support for idle-inhibit unstable v1 Wayland extension. Change-Id: I3cd392f9e1bb3604691f2a496579aad3b87383b6 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Merge remote-tracking branch 'origin/5.13' into devLiang Qi2019-08-131-1/+1
|\| | | | | | | | | | | | | | | | | | | | Conflicts: src/client/qwaylandinputdevice.cpp Change-Id: I20fb102162351b714855258175ed00437e55f072
| * | 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>