summaryrefslogtreecommitdiff
path: root/src/compositor/compositor_api
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/tqtc/lts-5.15.7' into ↵v5.15.7-lts-lgplTarja Sundqvist2022-09-122-5/+24
|\ | | | | | | | | | | tqtc/lts-5.15-opensource Change-Id: I42a0e780eea6d92f0463566e5ab9b23efc9f49b7
| * Keep reference to buffer until it has been replacedEskil Abrahamsen Blomfeldt2021-08-312-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the code path which uses QWaylandBufferMaterial, the buffer could potentially be deleted before the material had been updated, which could cause issues if the render thread was currently using the textures. In the default code path this was handled by keeping a reference to the buffer in the texture provider, but in the alternative YUV format code path, we did not increase the reference count of the buffer, so it would be deleted immediately when it was replaced rather than wait for the sync with the render thread. Task-number: QTBUG-95715 Change-Id: Ic6038ea8281e2a2e292d12150d1fffedb5c3b76e Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> (cherry picked from commit 6b9a27d77e226a3d0ce9fa9b4974f70c9ef4a30e)
| * Implement wp_viewporter support for video buffer formatsEskil Abrahamsen Blomfeldt2021-08-241-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some EGL image formats (the YUV formats specifically) cannot be handled by the built-in node types in the Qt Quick scene graph and use a custom material and geometry setup. In this setup, the wp_viewporter source rectangle was ignored and the entire texture was always sampled. This caused problems e.g. for video frames supplied by GStreamer. [ChangeLog][Extensions] Support for wp_viewporter extended to cover less common buffer formats. Pick-to: 5.15 6.1 6.2 Task-number: QTBUG-95464 Change-Id: I2504c6cd7d82e17d28e930a59d9ec71b25779acb Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> (cherry picked from commit 060024e2fc9335d4fc999253c9d6ed560c7ffb0c)
* | Merge remote-tracking branch 'origin/tqtc/lts-5.15.6' into ↵v5.15.6-lts-lgplTarja Sundqvist2022-08-161-0/+1
|\ \ | |/ | | | | | | | | tqtc/lts-5.15-opensource Change-Id: I9c249bfb8ad3764931b1c468f5cb927b784a2135
| * Cleanup up all subsurface QQuickItems correctlyDominik Holland2021-08-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When showing a surface with a subsurface in a QML based compositor, the subsurface QQuickitems are now destroyed when when main surface QQuickItem is destroyed and not just when the surface is destroyed. This prevents subsurface QQuickItems piling up when showing and hiding the client surfaces e.g. inside a StackView. Fixes: QTBUG-94602 Change-Id: I006a6a763d4daf560ba2a7b6f83e1de3e3c48906 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> (cherry picked from commit 5463a04097ee7824b2032fb058e289cf62bfd315) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* | Merge remote-tracking branch 'origin/tqtc/lts-5.15.5' into ↵v5.15.5-lts-lgplTarja Sundqvist2022-05-197-0/+7
|\ \ | |/ | | | | tqtc/lts-5.15-opensource
| * Docs: Add "instantiates" keywordsKai Uwe Broulik2021-05-197-0/+7
| | | | | | | | | | | | | | | | | | | | Document what the corresponding C++ class for any given QML item is, like it's done in Qt Declarative. Change-Id: I015565f88cb457f1e73dd7c2c54edff3505db395 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit a04decb6a85ef254ec48842e7551a2920de6a714) Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Revert "Update commercial license headers"v5.15.3-lts-lgplTarja Sundqvist2021-03-2258-611/+611
|/ | | | | | | | | | | This reverts commit 6bb05fed8fdb564f3ff0136bbdaf4efd6088797d. Revert of commercial license headers is required for Qt 5.15.3 opensource release. Task-number: QTBUG-91108 Change-Id: Ia867596ca140b1c37717baafe07cbcddd2a9b1fd Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
* Update commercial license headersTarja Sundqvist2021-01-2758-611/+611
| | | | | | | | | | | | | | | Updated header.COMM to the files in tqtc-qtwayland. Examples, tests and documentation files are not updated. The commercial license header may contain some additional lines so that its line count equals with the earlier license header. Reason for this is that some autotests use hard coded line numbers and a change in the line count causes failures in tests. Task-number: QTQAINFRA-4214 Change-Id: Ib716dd7c17587d0155b6903f5cf62be3f99384bf Reviewed-by: Antti Kokko <antti.kokko@qt.io>
* Fix leaked subsurface wayland itemsEskil Abrahamsen Blomfeldt2020-12-071-0/+1
| | | | | | | | | | | | | | | Whenever a subsurface was added we would create a QWaylandQuickItem, but this was never deleted. It is one-to-one with the surface, so it should be deleted at the same time. [ChangeLog][QtWaylandCompositor] Fixed a memory leak when creating subsurfaces. Task-number: QTBUG-88782 Change-Id: If4b3f15200ce3bd123ff73847d3593d174a39229 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> (cherry picked from commit 38fc568b30bf916165324c2cd2db127d2a9aa68c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Ensure that grabbing is performed in correct contextAndreas Cord-Landwehr2020-12-041-1/+1
| | | | | | | | | | | | | For multi-display rendering on EGL, it is mandatory that the grabbing of the surface happens in the same EGL context as the surface belongs to. By adding the grabbing to the rendering stage of the image, this relation is forced. Task-number: QTBUG-87597 Change-Id: I50f40df1215aa771d714065e942c5a738ba6269f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit ab3a1a07f3d1e0d5a9e9d97b6b3b587180e2f4c8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Build with -no-openglEskil Abrahamsen Blomfeldt2020-10-053-6/+10
| | | | | | | | | | | | | | | | | | | | | | Fix build when Qt is built with -no-opengl: 1. Certain includes have to be conditional on QT_CONFIG(opengl), just like the code that uses them. 2. After 585f20dce37c398d8b2e6367008e3329dac79e24, the ClientBufferIntegration is used even with a software-raster compositor, so we need to include this class in the build. 3. The wayland-scanner-generated header files are unconditionally installed through sync.profile and there is no way to exclude it there based on Qt configuration, which causes errors when doing make install. The easy fix for this is to generate the headers even though they will not be used anywhere. Fixes: QTBUG-86291 Change-Id: I671b6345cbc7138309e20fe62e09513f191cd3fe Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io> (cherry picked from commit cab51443ed9246c14255dcb295764f4d15cffaa1) Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Use WaylandCursorItem over clients, window system cursor otherwiseShawn Rutledge2020-05-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The pre-existing binding visible: cursorItem.surface != null implied that the surface would often be null; but in practice it was only null at startup. After entering a client window, whatever cursor it set would be retained when the mouse left the window. With client- side decorations, this could go unnoticed, because often the mouse would go across the titlebar or edge decorations on exit, and those would set the cursor back to a standard arrow. But in compositors that implement a lot of Qt Quick content of their own (server-side decorations and/or built-in features such as menus, docks etc.), that content cannot change the cursor that the WaylandCursorItem shows. Instead, we need the underlying window system cursor to be shown whenever the mouse is not hovering over a client window. As a drive-by, remove the inputEventsEnabled: false declarations from the examples, because WaylandCursorItem already does that internally. The pure-qml example is not fixed; it shows the window system cursor only when the compositor is a nested compositor. When it's not nested, you just have to move the mouse slowly enough to avoid "jumping over" the window edges. Or run clients that don't change the cursor. Fixes: QTBUG-84391 Change-Id: I3e677f3e4314d01e5d27d8eea49b4cb315c29d03 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> (cherry picked from commit 0b253e8c595b596f44959d21124887545ab0b021) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Suppress warning about sizeChanged() being deprecatedThiago Macieira2020-05-271-0/+3
| | | | | | Change-Id: I99ab0f318b1c43b89888fffd160b5ed8661a7a56 (adapted from commit 45ae0527aed387ddc6c6e2af400006ae0a8ea2ec) Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-04-211-23/+6
|\ | | | | | | Change-Id: I82c07ab72138774a0809bf60f0f3251d32923847
| * Revert "Compositor: Warn and clean up when client hardware buffer ↵v5.14.25.14.2Jani Heikkinen2020-03-241-23/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | integrations fail" This reverts commit 137966a6293b50f6b248d130a2e36e67df49335e. Reason for revert: QTBUG-82948 Conflicts: src/compositor/compositor_api/qwaylandcompositor.cpp src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.cpp Change-Id: I77e3265c336fbcdf47eb1aa5dc07f31ec41006b5 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Update connects to QSocketNotifier::activatedMårten Nordheim2020-04-211-1/+1
| | | | | | | | | | | | | | | | | | | | The int-overload will in some cases truncate the descriptor. So it's being replaced. On Linux it won't truncate, so the slot can stay as int, but we still update which signal to connect to. Task-number: QTBUG-70441 Change-Id: I516a453c381e8d29464febabfd69c788e58db5fe Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.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-102-2/+11
| | | | | | | | | | | | | | | | | | 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-081-1/+1
| | | | | | | | | | Change-Id: Ie0bed19704bed89044d3cf25e7aaa1f740a4b39a Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-11-233-15/+38
|\ \ | |/ | | | | Change-Id: If5fcfe5252c1ac1db63ec77136b186a104280b57
| * Doc: Fix documentation warningsTopi Reinio2019-11-133-15/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-312-6/+18
|\ \ | |/ | | | | Change-Id: I29524a74e495dd46c0dc5d0a0d10e41e55526f14
| * Compositor: Warn and clean up when server buffer integrations failJohan Klokkhammer Helsing2019-10-281-5/+16
| | | | | | | | | | | | | | | | 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-261-1/+2
| |\ | | | | | | | | | Change-Id: Ie283d8861ecf11f21621ab18efdc780143559b52
| | * Compositor: Fix crashes when destroying uninitialized surfacesJohan Klokkhammer Helsing2019-10-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-261-5/+23
|\ \ \ | |/ / | | | | | | Change-Id: If09bb13aa7a0aadd5cfb8265166d3b9d1b22e2f1
| * | Compositor: Warn and clean up when client hardware buffer integrations failJohan Klokkhammer Helsing2019-10-251-5/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1958-870/+290
|\ \ \ | |/ / | | | | | | Change-Id: I62ad84b48962fc119e4483a794406d8f4768ee32
| * | Update QtWaylandCompositor license headers to GPL 3v5.14.0-beta2Paul Olav Tvete2019-10-1658-870/+290
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | 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>
* | 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-166-21/+43
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | 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
| * Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-09-082-7/+4
| |\ | | | | | | | | | 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-292-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | 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>
* | | Fix issues raised during API reviewPier Luigi Fiorini2019-08-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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-262-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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-163-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>