[mutter] wayland/xdg-output: Add xdg-output v3 support
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] wayland/xdg-output: Add xdg-output v3 support
- Date: Wed, 21 Aug 2019 15:56:44 +0000 (UTC)
commit 13deb222232c2abffd022fc7b4406909ccbb13ac
Author: Olivier Fourdan <ofourdan redhat com>
Date: Thu Jul 25 14:12:46 2019 +0200
wayland/xdg-output: Add xdg-output v3 support
xdg-output v3 marks `xdg_output.done` as deprecated, avoid sending that
event for clients using xdg-output v3.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/704
meson.build | 2 +-
src/wayland/meta-wayland-outputs.c | 7 +++++--
src/wayland/meta-wayland-versions.h | 2 +-
3 files changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/meson.build b/meson.build
index 3443d4d34..940e79a24 100644
--- a/meson.build
+++ b/meson.build
@@ -42,7 +42,7 @@ gudev_req = '>= 232'
# wayland version requirements
wayland_server_req = '>= 1.13.0'
-wayland_protocols_req = '>= 1.16'
+wayland_protocols_req = '>= 1.18'
# native backend version requirements
libinput_req = '>= 1.4'
diff --git a/src/wayland/meta-wayland-outputs.c b/src/wayland/meta-wayland-outputs.c
index a45bcbcd2..fdbf01688 100644
--- a/src/wayland/meta-wayland-outputs.c
+++ b/src/wayland/meta-wayland-outputs.c
@@ -35,6 +35,8 @@
#include "xdg-output-unstable-v1-server-protocol.h"
+/* Wayland protocol headers list new additions, not deprecations */
+#define NO_XDG_OUTPUT_DONE_SINCE_VERSION 3
enum
{
@@ -382,7 +384,8 @@ wayland_output_update_for_output (MetaWaylandOutput *wayland_output,
for (iter = wayland_output->xdg_output_resources; iter; iter = iter->next)
{
struct wl_resource *xdg_output = iter->data;
- zxdg_output_v1_send_done (xdg_output);
+ if (wl_resource_get_version (xdg_output) < NO_XDG_OUTPUT_DONE_SINCE_VERSION)
+ zxdg_output_v1_send_done (xdg_output);
}
}
/* It's very important that we change the output pointer here, as
@@ -621,7 +624,7 @@ send_xdg_output_events (struct wl_resource *resource,
zxdg_output_v1_send_description (resource, description);
}
- if (need_all_events)
+ if (need_all_events && version < NO_XDG_OUTPUT_DONE_SINCE_VERSION)
{
zxdg_output_v1_send_done (resource);
need_done = FALSE;
diff --git a/src/wayland/meta-wayland-versions.h b/src/wayland/meta-wayland-versions.h
index 0e2b6414b..f5dc10484 100644
--- a/src/wayland/meta-wayland-versions.h
+++ b/src/wayland/meta-wayland-versions.h
@@ -50,7 +50,7 @@
#define META_ZXDG_IMPORTER_V1_VERSION 1
#define META_ZWP_LINUX_DMABUF_V1_VERSION 3
#define META_ZWP_KEYBOARD_SHORTCUTS_INHIBIT_V1_VERSION 1
-#define META_ZXDG_OUTPUT_V1_VERSION 2
+#define META_ZXDG_OUTPUT_V1_VERSION 3
#define META_ZWP_XWAYLAND_KEYBOARD_GRAB_V1_VERSION 1
#define META_GTK_TEXT_INPUT_VERSION 1
#define META_ZWP_TEXT_INPUT_V3_VERSION 1
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]