On 05/16/2015 07:38 AM, Dima Ryazanov wrote:
This makes Xwayland correctly handle a monitor getting unplugged. Signed-off-by: Dima Ryazanov <d...@gmail.com> --- hw/xwayland/xwayland-output.c | 1 + hw/xwayland/xwayland.c | 10 +++++++++- hw/xwayland/xwayland.h | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/hw/xwayland/xwayland-output.c b/hw/xwayland/xwayland-output.c index 41937b8..9ef8a48 100644 --- a/hw/xwayland/xwayland-output.c +++ b/hw/xwayland/xwayland-output.c @@ -163,6 +163,7 @@ xwl_output_create(struct xwl_screen *xwl_screen, uint32_t id) xwl_output->output = wl_registry_bind(xwl_screen->registry, id, &wl_output_interface, 2); + xwl_output->server_output_id = id; wl_output_add_listener(xwl_output->output, &output_listener, xwl_output); snprintf(name, sizeof name, "XWAYLAND%d", serial++); diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c index 7e8d667..7c2eaed 100644 --- a/hw/xwayland/xwayland.c +++ b/hw/xwayland/xwayland.c @@ -410,7 +410,15 @@ registry_global(void *data, struct wl_registry *registry, uint32_t id, static void global_remove(void *data, struct wl_registry *registry, uint32_t name) { - /* Nothing to do here, wl_compositor and wl_shm should not be removed */ + struct xwl_screen *xwl_screen = data; + struct xwl_output *xwl_output; + + xorg_list_for_each_entry(xwl_output, &xwl_screen->output_list, link) { + if (xwl_output->server_output_id == name) { + xwl_output_destroy(xwl_output); + break; + } + } } static const struct wl_registry_listener registry_listener = { diff --git a/hw/xwayland/xwayland.h b/hw/xwayland/xwayland.h index cfb343d..70875e7 100644 --- a/hw/xwayland/xwayland.h +++ b/hw/xwayland/xwayland.h @@ -130,6 +130,7 @@ struct xwl_seat { struct xwl_output { struct xorg_list link; struct wl_output *output; + uint32_t server_output_id; struct xwl_screen *xwl_screen; RROutputPtr randr_output; RRCrtcPtr randr_crtc;
As I wrote before, I'm not in favor of patch 1 in this series. However, this patch needs patch 1 to work properly, so I'm in for using the version 1 of patch 1 (http://lists.freedesktop.org/archives/wayland-devel/2015-May/021909.html)
With above mentioned this series is: Reviewed-by: Marek Chalupa <mchqwe...@gmail.com> Regards, Marek _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel