EOLIAN static void _efl_net_control_technology_efl_object_destructor(Eo *o, Efl_Net_Control_Technology_Data *pd) { Eldbus_Pending *p; Eldbus_Signal_Handler *sh; EINA_LIST_FREE(pd->pending, p) eldbus_pending_cancel(p); EINA_LIST_FREE(pd->signal_handlers, sh) eldbus_signal_handler_del(sh); if (pd->proxy) { Eldbus_Object *obj = eldbus_proxy_object_get(pd->proxy); eldbus_proxy_unref(pd->proxy); pd->proxy = NULL; eldbus_object_unref(obj); } efl_destructor(efl_super(o, MY_CLASS)); eina_stringshare_replace(&pd->path, NULL); eina_stringshare_replace(&pd->name, NULL); eina_stringshare_replace(&pd->tethering.identifier, NULL); eina_stringshare_replace(&pd->tethering.passphrase, NULL); }
void wkb_ibus_input_context_destroy(void) { if (!wkb_ibus || !wkb_ibus->input_ctx) return; if (wkb_ibus->input_ctx->pending) eldbus_pending_cancel(wkb_ibus->input_ctx->pending); if (wkb_ibus->input_ctx->ibus_ctx) { eldbus_proxy_call(wkb_ibus->input_ctx->ibus_ctx, "FocusOut", NULL, NULL, -1, ""); eldbus_proxy_unref(wkb_ibus->input_ctx->ibus_ctx); } free(wkb_ibus->input_ctx->preedit); free(wkb_ibus->input_ctx); wkb_ibus->input_ctx = NULL; }