Merge pull request #893 from emersion/fix-subsurface-recreate

Fix protocol error when a client destroys and re-creates a subsurface
This commit is contained in:
emersion 2018-04-24 09:01:48 +01:00 committed by GitHub
commit 09b491f36c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -42,7 +42,8 @@ static void subcompositor_handle_get_subsurface(struct wl_client *client,
return; return;
} }
if (wlr_surface_is_subsurface(surface)) { if (wlr_surface_is_subsurface(surface) &&
wlr_subsurface_from_surface(surface) != NULL) {
wl_resource_post_error(resource, wl_resource_post_error(resource,
WL_SUBCOMPOSITOR_ERROR_BAD_SURFACE, WL_SUBCOMPOSITOR_ERROR_BAD_SURFACE,
"%s%d: wl_surface@%d is already a sub-surface", "%s%d: wl_surface@%d is already a sub-surface",
@ -101,11 +102,6 @@ static void subcompositor_finish(struct wlr_subcompositor *subcompositor) {
} }
static const struct wl_compositor_interface wl_compositor_impl; static const struct wl_compositor_interface wl_compositor_impl;
static struct wlr_compositor *compositor_from_resource( static struct wlr_compositor *compositor_from_resource(