Looks good to me. Reviewed-By: Jason Ekstrand <ja...@jlekstrand.net>
On Mon, May 19, 2014 at 12:27 PM, Neil Roberts <n...@linux.intel.com> wrote: > The wl_output.release request is now handled. It just causes the > resource to be destroyed. This is also set as the destructor when > zombifying the resource. > --- > src/compositor.c | 23 +++++++++++++++++++---- > 1 file changed, 19 insertions(+), 4 deletions(-) > > diff --git a/src/compositor.c b/src/compositor.c > index ea0c9b4..f9bd25b 100644 > --- a/src/compositor.c > +++ b/src/compositor.c > @@ -3038,6 +3038,18 @@ weston_compositor_stack_plane(struct > weston_compositor *ec, > wl_list_insert(&ec->plane_list, &plane->link); > } > > +static void > +output_release(struct wl_client *client, > + struct wl_resource *resource) > +{ > + wl_resource_destroy(resource); > +} > + > +static struct wl_output_interface > +output_interface = { > + output_release > +}; > + > static void unbind_resource(struct wl_resource *resource) > { > wl_list_remove(wl_resource_get_link(resource)); > @@ -3052,14 +3064,15 @@ bind_output(struct wl_client *client, > struct wl_resource *resource; > > resource = wl_resource_create(client, &wl_output_interface, > - MIN(version, 2), id); > + MIN(version, 3), id); > if (resource == NULL) { > wl_client_post_no_memory(client); > return; > } > > wl_list_insert(&output->resource_list, > wl_resource_get_link(resource)); > - wl_resource_set_implementation(resource, NULL, data, > unbind_resource); > + wl_resource_set_implementation(resource, &output_interface, > + data, unbind_resource); > > wl_output_send_geometry(resource, > output->x, > @@ -3159,7 +3172,9 @@ weston_output_destroy(struct weston_output *output) > wl_global_destroy(output->global); > > wl_resource_for_each_safe(resource, tmp, &output->resource_list) > - weston_resource_zombify(resource, ~0); > + weston_resource_zombify(resource, > + > WL_REQUEST_OPCODE(wl_output_interface, > + release)); > } > > static void > @@ -3357,7 +3372,7 @@ weston_output_init(struct weston_output *output, > struct weston_compositor *c, > output->compositor->output_id_pool |= 1 << output->id; > > output->global = > - wl_global_create(c->wl_display, &wl_output_interface, 2, > + wl_global_create(c->wl_display, &wl_output_interface, 3, > output, bind_output); > wl_signal_emit(&c->output_created_signal, output); > } > -- > 1.9.0 > > _______________________________________________ > wayland-devel mailing list > wayland-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/wayland-devel >
_______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel