summaryrefslogtreecommitdiff
path: root/src/plugins/shellintegration
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/tqtc/lts-5.15.9' into ↵v5.15.9-lts-lgpl5.15Tarja Sundqvist2023-03-231-0/+4
|\ | | | | | | | | | | tqtc/lts-5.15-opensource Change-Id: Id7e59c8258165ebca9bcb552d5a4e9872d872232
| * client: set_constraint_adjustment() for popups in xdgLiang Qi2022-03-081-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | See also https://cgit.freedesktop.org/wayland/wayland-protocols/tree/stable/xdg-shell/xdg-shell.xml#n234 . Kudos to Greg V for his original patch in jira. Fixes: QTBUG-87303 Done-with: Greg V <greg@unrelenting.technology> Change-Id: I57df9aedea7cc6f0b6fa142a6fc6c3bdc98324c8 Reviewed-by: David Edmundson <davidedmundson@kde.org> (cherry picked from commit 59a5fe99e1569421b920d99c5b20cdafcdcf43a9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* | Merge remote-tracking branch 'origin/tqtc/lts-5.15.8' into ↵v5.15.8-lts-lgplTarja Sundqvist2022-11-102-4/+6
|\ \ | |/ | | | | | | | | tqtc/lts-5.15-opensource Change-Id: Id97943831fbc85d703dc50369e0d975513208c43
| * Use a correct serial for xdg_surface.ack_configureInho Lee2021-12-072-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | Previous pendingConfigureSerial can be overwritten regardless of the current configuration. With this patch, the client surface can use correct serial for xdg_surface.ack_configure. Fixes: QTBUG-95962 Change-Id: I849d2daf4acc8ef6e7f8528af9c5a57f671f43e6 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 07ddfbfa43d08c2b76aabafaab38830e04a42690) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* | Merge remote-tracking branch 'origin/tqtc/lts-5.15.4' into ↵v5.15.4-lts-lgplTarja Sundqvist2022-04-071-3/+6
|\ \ | |/ | | | | | | | | tqtc/lts-5.15-opensource Change-Id: I665a0f6579e52cd9f27f731c6363bb03188a07bf
| * xdgshell: Tell the compositor the screen we're expecting to fillAleix Pol2021-03-261-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | The xdgshell protocol allows us to tell the output to fill. This makes it possible to use fullscreen confidently on systems with multiple screens knowing that our windows won't be overlapping one another by calling setScreen accordingly before QWindow::showFullScreen. Change-Id: I757854c3698639472f3a25ef298ddcca031e1ed5 Reviewed-by: David Edmundson <davidedmundson@kde.org> (cherry picked from commit f915e53eaa596654ee1b9726a4767a1cba11336f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* | Revert "Update commercial license headers"v5.15.3-lts-lgplTarja Sundqvist2021-03-2236-741/+741
|/ | | | | | | | | | | 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-2736-741/+741
| | | | | | | | | | | | | | | 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>
* Make setting QT_SCALE_FACTOR work on WaylandMorten Johan Sørvig2020-11-184-4/+4
| | | | | | | | | | | | | | | | | | | | QWindow geometry accessors return geometry in device independent pixels. Normally this coordinate system is equivalent to the Wayland native coordinate system, but this is not the case when QT_SCALE_FACTOR is set. Replace QWindow geometry calls with the helpers from QPlatformWindow which return geometry in the native coordinate system: QWindow::geometry() -> QPlatformWindow::windowGeometry() QWindow::frameGeometry() -> QPlatformWindow::windowFrameGeometry() Task-number: QTBUG-87762 Fixes: QTBUG-88064 (cherry-picked from commit 8cb1b07aea12d50b4fecc45c903705dfd368022a) Change-Id: I6e2029bc6210f12441ae7c9d8b678271e9922dde Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Client: Delete decoration object when frameless window hint is addedJohan Klokkhammer Helsing2020-02-271-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't want windows with FramelessWindowHint to have a zxdg_toplevel_decoration_v1 object, because that allows the compositor to force server-side window decorations. We already have code in place that avoids creating the decoration object when the window is created. However, if the frameless window hint is added after the window has been shown, then the decoration object has already been created. The protocol states that if a decoration object is destroyed, the window will switch back to a mode without any server-side decorations on the next commit... so this is what we do in this patch. Unfortunately, there is no clean way to handle the case when the hint is removed while the window is visible since the protocol explicitly forbids creating toplevel decoration objects for surfaces with committed buffers. Discussion is ongoing as to whether this should be fixed in the next version of the protocol: https://gitlab.freedesktop.org/wayland/wayland-protocols/issues/9 If we want to work around it, it is perhaps possible to destroy and create a new wl_surface, but ideally, it will be fixed in the next version of the xdg-decoration protocol and we can just wait for that. Task-number: QTBUG-80702 Change-Id: I7e76c05fc3629f1fbbba1d18482808fe588e3878 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Client: Don't allow decorations for frameless windowsJohan Klokkhammer Helsing2020-02-131-3/+4
| | | | | | | | | | | | | This only fixes it for when Qt::FramelessWindowHint is set appropriately before the window is shown. [ChangeLog][QPA plugin] Windows with Qt::FramelessWindowHint no longer create zxdg_toplevel_decoration_v1, as that allowed compositors to force server-side decorations. Fixes: QTBUG-80702 Change-Id: I47a582a59f6682a57128c0c9d4e4b9a6181925a4 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Client: Implement QPlatformWindow::startSystemResizeJohan Klokkhammer Helsing2020-02-058-10/+18
| | | | | | | Task-number: QTBUG-73011 Change-Id: Ife0d9949b4d4dd7e6f16d3de88d0cb4bf4991e09 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Client: Support running with no screensJohan Klokkhammer Helsing2019-11-121-2/+3
| | | | | | | | | | [ChangeLog][QPA plugin] The QPA plugin now supports running with no screens attached. This is handled by adding a fake screen when the last screen is disconnected, similarly to what the other QPA plugins do. Fixes: QTBUG-79111 Change-Id: I4a0e023ae784217dd030f0c62f12487fdff4825c Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Merge remote-tracking branch 'origin/5.13' into 5.14Johan Klokkhammer Helsing2019-09-162-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | 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
| * Client: Don't spam stderr about ignored window statesJohan Klokkhammer Helsing2019-09-032-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Since it is not supported by the protocol, neither we, nor the application developer can do anything about it. Change it from warning to debug so it only shows up when enabled. Task-number: QTBUG-76061 Change-Id: I81420e0c72a9e9652f6592d65c70c7df1e5725b9 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Port from QMutex::Recursive to QRecursiveMutexMarc Mutz2019-07-312-2/+4
| | | | | | | | | | Change-Id: Id3d7c7e5a62b8f7a7844dab872e16bf2094a5c91 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Eradicate Q_FOREACH loops [1/2]: trivial casesMarc Mutz2019-05-212-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In this patch, we port Q_FOREACH loops to C++11 ranged-for loops. All cases are trivial in the sense that either the argument is already const or is trivially marked as const, either by qAsConst(), or, in the case of rvalues, by storing to a const auto temporary first. In addition, all loop bodies are clear enough to confirm that the container we iterate over is not changed under iteration. This does not exclude cases where a loop is prematurely exited just after calling a modifier on the container, as that is safe, if not especially elegant. Change-Id: I87a63f07797437d421567d60e52305391a3c4f21 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-05-263-1/+10
|\ \ | |/ | | | | Change-Id: Idc8adeb6ac0698ef8f6fb0585916a6e53a53fcb7
| * 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>
* | Merge remote-tracking branch 'origin/5.13' into devLiang Qi2019-04-102-4/+12
|\ \ | |/ | | | | | | | | | | | | | | Conflicts: src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp src/plugins/shellintegration/xdg-shell-v5/qwaylandxdgshellv5.cpp Done-with: Johan Klokkhammer Helsing <johan.helsing@qt.io> Change-Id: Ia6fa28454f681b4965b5e18f635cb8c40da316f3
| * Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-062-4/+12
| |\ | | | | | | | | | Change-Id: I16bc2e214dda4c8d6c9fc3568af60068815fc558
| | * 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>
* | | Merge remote-tracking branch 'qt/5.13' into devPaul Olav Tvete2019-03-212-2/+16
|\ \ \ | |/ / | | | | | | Change-Id: I3dc204fcaa71c01a80b0c622443012eb07964431
| * | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-02-162-2/+16
| |\ \ | | |/ | | | | | | Change-Id: Ifb1c6c64abbb5c453092eeb1aff91572b57de410
| | * Client xdg-shell: Fix crash when switching popupsJohan Klokkhammer Helsing2019-02-122-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The call to flushWindowSystemEvents() sometimes caused new popups to be shown in the middle of hiding another. I.e. if multiple events show and hide surfaces, they would be shown/hidden in opposite order of their corresponding events. QMenus sometimes suffered from this (can be seen with the qopenglwidget example from qtbase). When the flush was added 5 years ago in 50f43a0c5, it was to "reduce the chances of seeing a bad frame". I don't see any rendering artifacts, though, and I can't find any bug report on it. So let's hope it's safe to remove the hack. [ChangeLog][QPA plugin] Fixed a crash that sometimes happened when switching popups. Also adds more info to the workaround warning message that appears when a popup grab is attempted and there already is another grabbing popup that is not the parent. Fixes: QTBUG-73524 Change-Id: Ibfcbb48c4bbe295c2be1a30add2d7e05cad398c5 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Client: Make QWaylandWindow's wl_surface inheritance privateJohan Klokkhammer Helsing2019-03-148-18/+17
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWaylandWindow inheriting wl_surface is a leftover from the old days, and today it is sometimes causing great problems. Especially on xdg_shell and other shells where the wl_surface needs to recreated with a different role if the QWindow::type changes. This is currently worked around by calling reset() on the surface, which will destroy the wl_surface, and emit some necessary events and signals. However, much of the rest of the code still assumes that a QWaylandWindow maps directly to a single wl_surface which won't change over the lifetime of the QWaylandWindow. Today, it would make sense to implement this with composition rather than inheritance. This is a major undertaking and so this is the first small step; hide the inheritance in QWaylandWindow's public API. This makes it much more visible when and where the rest of the QPA plugin is using it, so we can eventually move it into its own class later. Task-number: QTBUG-74373 Change-Id: I257729e33c3a5368cef4bb1e16148ba392e65bd2 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Clean up .gitignorePier Luigi Fiorini2019-01-171-0/+3
| | | | | | | | | | | | | | | | | | Ignore more files resulting from the build process. Glob all scanner generated files, and add exceptions for pregenerated files. Change-Id: Ica60951356bdc145ebd66f5e6fc6bf4e23f2aa72 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Track changes to window geometry for xdg-shell and xdg-shell-v6Pier Luigi Fiorini2019-01-154-6/+12
| | | | | | | | | | | | | | | | | | | | Send window geometry every time the window is resized. [ChangeLog][QPA plugin] Send window geometry every time the window is resized. Change-Id: I8f3824c31455345be2b582e7d3a55077b47851b6 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Set size hints for xdg-shell and xdg-shell-v6Pier Luigi Fiorini2019-01-154-0/+66
| | | | | | | | | | | | | | | | | | | | Send minimum and maximum size hints to compositors. [ChangeLog][QPA plugin] Implement minimum and maximum size in the xdg-shell and xdg-shell-v6 shell integrations. Change-Id: I631c3348c8333d7a246b21228a92c436f5adb5dc Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Client decorations: Show menu on right clickJohan Klokkhammer Helsing2019-01-146-0/+30
| | | | | | | | | | | | | | | | | | [ChangeLog][QPA plugin] A window menu is now shown when the window decorations are right-clicked (if supported by the compositor). Change-Id: I13bf0c8cd91a6e5a3b44e47114dfdc2ff0e97f3a Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2018-12-225-10/+10
|\ \ | |/ | | | | | | | | | | | | Conflicts: README src/hardwareintegration/client/xcomposite_share/xcomposite_share.pri Change-Id: I7cbbf39916821f0f1749e3ccab3151f68f4aa1ac
| * use new feature name xkbcommon_evdev -> xkbcommonGatis Paeglis2018-12-055-10/+10
| | | | | | | | | | | | | | | | | | The xkbcommon configure logic was refactored in qtbase/c3a963da1f9e7b1d37e63eedded61da4fbdaaf9a. For more details see the relevant commit. Change-Id: Ic1aa26846ab8266c589f6e92dc8b81aba36df58a Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2018-12-054-8/+10
|\ \ | |/ | | | | | | | | | | Conflicts: src/compositor/compositor_api/qwaylandquickitem.cpp Change-Id: I5e01a0731e880e3eb8eab349043756a5993e3050
| * Merge remote-tracking branch 'origin/5.12.0' into 5.12Qt Forward Merge Bot2018-12-054-8/+10
| |\ | | | | | | | | | Change-Id: Ica38060e6d624a7534660eabec604f6795970c95
| | * Only print deprecation warning when using deprecated shellsPaul Olav Tvete2018-11-072-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | Avoids printing deprecation warnings for shells that are available by default but not actually used. In particular, avoids warning about wl-shell when using ivi-shell. Change-Id: Id075e97572e6ec876ad24f369808c61a479e9b07 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| | * Client: Explicitly send expose window on first configureDavid Edmundson2018-10-312-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before 88a0246a46c30e08e9730d16cf8739773447d058 we would always call QWaylandWindow::applyConfigure which in turn sends an expose event. Without that clients do not commit their initial buffer. This adds back the expose event on the first received configure. Fixes: QTBUG-71509 Change-Id: Ica39bb23245957948e1e1f75caf4f16f7b086ef7 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-11-174-34/+48
|\ \ \ | |/ / | | | | | | Change-Id: I6cc70da737d07a87e2b396e35f64adfeffc565bd
| * | Client: Rename m_topmostPopup to clarify its goalDavid Edmundson2018-11-144-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is used when creating new grabbed popups to ensure they are only created on the topmost grabbing popup as per the specification. Non-grabbing popups don't have this restriction. Change-Id: I8e2b8cd0f091688c847f81f2e5d33ce2f0df96a1 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * | Client: Don't require an input device for non-grabbing popupsDavid Edmundson2018-11-144-26/+40
| |/ | | | | | | | | | | | | | | | | | | It's valid to create a non-grabbing XDG-popup, such as a tooltip, before an input event. The current guard should only apply for grabbing popups, otherwise tooltips created early are turned into XDG-toplevels resulting in incorrect positioning. Change-Id: I5bb59a68964ef2375c81e8b4e1a73361b9d2cbcc Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Client: Add fullscreen shell integrationPier Luigi Fiorini2018-11-058-0/+362
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QPA plugin] Added support for fullscreen-shell unstable v1. The fullscreen_shell_unstable_v1 interface displays a single surface per output and it is used for nested compositors, where each output is rendered in a surface that is then displayed by the main compositor. For example weston could be the main compositor and a QML compositor could be launched as a client using this shell integration to display it inside weston. Change-Id: I037679a283ff03cb4bdf4b3fed59945090ec9250 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-10-305-9/+35
|\ \ | |/ | | | | Change-Id: I1d9281750b06f7584e55759994dc6fcbcc5b2455
| * Merge 5.12 into 5.12.0Oswald Buddenhagen2018-10-304-8/+34
| |\ | | | | | | | | | Change-Id: Ic7b7999f42b1867982b9410efb5224d68e9443f8
| | * Client: Don't attach buffers to unexposed windowsJohan Klokkhammer Helsing2018-10-264-8/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QBackingStore::flush is sometimes called with an unxeposed window, in that case, don't attach the buffer to the wl_surface immediately, as that causes protocol errors with xdg_shell. Flushed buffers are instead stored until we get the first configure event. [ChangeLog][QPA plugin][xdg-shell] Fixed a bug where buffers were sometimes attached and committed before the first configure event, causing protocol errors. Fixes: QTBUG-71345 Change-Id: If9409d97bd25f6b13940c56141920a664c349c8e Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: David Edmundson <davidedmundson@kde.org>
| * | Client: Fix fullscreen regression on wl-shellJohan Klokkhammer Helsing2018-10-281-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | The code for isNormal was wrong, so set_toplevel (which clears fullscreen state) would be sent unless the window was both maximized and fullscreen. Fixed it and made it a little bit more readable. Change-Id: Icaa52d3a058df064a0bd1164119af3f511cb4220 Fixes: QTBUG-71350 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: David Edmundson <davidedmundson@kde.org>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-10-092-8/+22
|\ \ | |/ | | | | Change-Id: Ib4c65db63c2f3119fc7c157d4353c4e0ecebefb0
| * Client (xdg-shell): Only restore normal size when not maximizedJohan Klokkhammer Helsing2018-10-092-8/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kwin and perhaps other compositors sometimes send questionable configure events with state set to maximized and size == {0,0}. Previously, we would then restore the m_normalSize, which would give us a maximized window with the size of a windowed (normal) one. A size of zero usually means that it's up to the client to decide, which makes sense for non-maximized windows, but not so much for maximized ones. This is what the protocol spec says about the maximized state: The surface is maximized. The window geometry specified in the configure event must be obeyed by the client. It's fixed in the dev version of kwin, but until then, let's be on the safe side and only resize the window if things make sense. [ChangeLog][QPA plugin] Fixed a bug where maximized windows would resize to their unmaximized size if the compositor sent an invalid configure event. Change-Id: I2371b29c82426ac48cd1c18c14c3dd0fe4f2250e Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Don't include system versions of wayland protocolJohan Klokkhammer Helsing2018-10-0310-14/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | wayland-client.h and wayland-server.h includes protocol generated for the version of wayland.xml corresponding to the libwayland version. This becomes a problem when we want to support a version of wayland.xml that's newer than the system libwayland. The solution is to include wayland-client-core.h and wayland-client-server.h instead. These headers don't include any wayland-scanner generated code, so we can safely compile and link code generated against the version of wayland.xml that we ship. [ChangeLog] Code generated by qtwaylandscanner now includes wayland-client-core.h and wayland-server-core.h instead of wayland-client.h and wayland-server.h. This might break source compatibility for code using custom wayland extensions. Fixes: QTBUG-70553 Change-Id: Ice0cdb60ecc4f936acc0e158b96f7978549f62c1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Client: Make features for shell integrationsJohan Klokkhammer Helsing2018-09-211-7/+6
| | | | | | | | | | | | | | | | [ChangeLog][QPA plugin] Shell integrations are now features that can be enabled or disabled at build time. Change-Id: I1c48bb5d444074ac25331cb1ca8a9f49ebcd9805 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Decorations: Don't depend on wl_shellJohan Klokkhammer Helsing2018-09-208-38/+56
|/ | | | | | | | | | | [ChangeLog][QPA plugin] The private window decoration API method, QWaylandAbstractDecoration::startResize, now takes Qt::Edges argument instead of a wl_shell_surface_resize enum. This will break window decoration plugins written for older versions of Qt Wayland. Change-Id: I4fc9aab949e91efd48a4943f8e116f51dfc373b8 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Don't try to use wl_proxy_get_version with libwayland < 1.10Johan Klokkhammer Helsing2018-09-131-0/+7
| | | | | | | | The pregenerated header for xdg-shell was generated using wayland-scanner 1.13 which uses wl_proxy_get_version which was introduced in 1.10. Change-Id: I19507ff6e543d4b0aa53e0d022d680090c34ab50 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>