If we can't allocate a closure, don't just silently continue. Set
client->error so we shut down the client when we're done processing events.
&object->interface->events[opcode]);
va_end(ap);
- if (closure == NULL)
+ if (closure == NULL) {
+ resource->client->error = 1
return;
+ }
if (wl_closure_send(closure, resource->client->connection))
wl_event_loop_add_idle(resource->client->display->loop,
&object->interface->events[opcode]);
va_end(ap);
- if (closure == NULL)
+ if (closure == NULL) {
+ resource->client->error = 1
return;
+ }
if (wl_closure_queue(closure, resource->client->connection))
wl_event_loop_add_idle(resource->client->display->loop,