Lines Matching refs:closure
226 decrease_closure_args_refcount(struct wl_closure *closure) in decrease_closure_args_refcount() argument
233 signature = closure->message->signature; in decrease_closure_args_refcount()
240 proxy = (struct wl_proxy *) closure->args[i].o; in decrease_closure_args_refcount()
243 closure->args[i].o = NULL; in decrease_closure_args_refcount()
259 struct wl_closure *closure; in wl_event_queue_release() local
264 closure = container_of(queue->event_list.next, in wl_event_queue_release()
266 wl_list_remove(&closure->link); in wl_event_queue_release()
268 decrease_closure_args_refcount(closure); in wl_event_queue_release()
270 proxy = closure->proxy; in wl_event_queue_release()
277 wl_closure_destroy(closure); in wl_event_queue_release()
636 struct wl_closure *closure; in wl_proxy_marshal_array_constructor_versioned() local
651 closure = wl_closure_marshal(&proxy->object, opcode, args, message); in wl_proxy_marshal_array_constructor_versioned()
652 if (closure == NULL) in wl_proxy_marshal_array_constructor_versioned()
656 wl_closure_print(closure, &proxy->object, true); in wl_proxy_marshal_array_constructor_versioned()
658 if (wl_closure_send(closure, proxy->display->connection)) in wl_proxy_marshal_array_constructor_versioned()
661 wl_closure_destroy(closure); in wl_proxy_marshal_array_constructor_versioned()
1154 create_proxies(struct wl_proxy *sender, struct wl_closure *closure) in create_proxies() argument
1163 signature = closure->message->signature; in create_proxies()
1169 id = closure->args[i].n; in create_proxies()
1171 closure->args[i].o = NULL; in create_proxies()
1175 closure->message->types[i]); in create_proxies()
1178 closure->args[i].o = (struct wl_object *)proxy; in create_proxies()
1189 increase_closure_args_refcount(struct wl_closure *closure) in increase_closure_args_refcount() argument
1196 signature = closure->message->signature; in increase_closure_args_refcount()
1203 proxy = (struct wl_proxy *) closure->args[i].o; in increase_closure_args_refcount()
1219 struct wl_closure *closure; in queue_event() local
1240 closure = wl_connection_demarshal(display->connection, size, in queue_event()
1242 if (!closure) in queue_event()
1245 if (create_proxies(proxy, closure) < 0) { in queue_event()
1246 wl_closure_destroy(closure); in queue_event()
1250 if (wl_closure_lookup_objects(closure, &display->objects) != 0) { in queue_event()
1251 wl_closure_destroy(closure); in queue_event()
1255 increase_closure_args_refcount(closure); in queue_event()
1257 closure->proxy = proxy; in queue_event()
1264 wl_list_insert(queue->event_list.prev, &closure->link); in queue_event()
1272 struct wl_closure *closure; in dispatch_event() local
1277 closure = container_of(queue->event_list.next, in dispatch_event()
1279 wl_list_remove(&closure->link); in dispatch_event()
1280 opcode = closure->opcode; in dispatch_event()
1285 decrease_closure_args_refcount(closure); in dispatch_event()
1286 proxy = closure->proxy; in dispatch_event()
1294 wl_closure_destroy(closure); in dispatch_event()
1302 wl_closure_print(closure, &proxy->object, false); in dispatch_event()
1304 wl_closure_dispatch(closure, proxy->dispatcher, in dispatch_event()
1308 wl_closure_print(closure, &proxy->object, false); in dispatch_event()
1310 wl_closure_invoke(closure, WL_CLOSURE_INVOKE_CLIENT, in dispatch_event()
1314 wl_closure_destroy(closure); in dispatch_event()