1
0
Fork 0

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
This commit is contained in:
Olivier Fourdan 2019-07-25 14:12:46 +02:00 committed by Florian Müllner
parent 220e4caf36
commit 13deb22223
3 changed files with 7 additions and 4 deletions

View file

@ -42,7 +42,7 @@ gudev_req = '>= 232'
# wayland version requirements # wayland version requirements
wayland_server_req = '>= 1.13.0' wayland_server_req = '>= 1.13.0'
wayland_protocols_req = '>= 1.16' wayland_protocols_req = '>= 1.18'
# native backend version requirements # native backend version requirements
libinput_req = '>= 1.4' libinput_req = '>= 1.4'

View file

@ -35,6 +35,8 @@
#include "xdg-output-unstable-v1-server-protocol.h" #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 enum
{ {
@ -382,7 +384,8 @@ wayland_output_update_for_output (MetaWaylandOutput *wayland_output,
for (iter = wayland_output->xdg_output_resources; iter; iter = iter->next) for (iter = wayland_output->xdg_output_resources; iter; iter = iter->next)
{ {
struct wl_resource *xdg_output = iter->data; 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 /* 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); 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); zxdg_output_v1_send_done (resource);
need_done = FALSE; need_done = FALSE;

View file

@ -50,7 +50,7 @@
#define META_ZXDG_IMPORTER_V1_VERSION 1 #define META_ZXDG_IMPORTER_V1_VERSION 1
#define META_ZWP_LINUX_DMABUF_V1_VERSION 3 #define META_ZWP_LINUX_DMABUF_V1_VERSION 3
#define META_ZWP_KEYBOARD_SHORTCUTS_INHIBIT_V1_VERSION 1 #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_ZWP_XWAYLAND_KEYBOARD_GRAB_V1_VERSION 1
#define META_GTK_TEXT_INPUT_VERSION 1 #define META_GTK_TEXT_INPUT_VERSION 1
#define META_ZWP_TEXT_INPUT_V3_VERSION 1 #define META_ZWP_TEXT_INPUT_V3_VERSION 1