static void _e_shell_surface_destroy(struct wl_resource *resource) { E_Client *ec; /* DBG("Shell Surface Destroy: %d", wl_resource_get_id(resource)); */ /* get the client for this resource */ if ((ec = wl_resource_get_user_data(resource))) { if (!e_object_unref(E_OBJECT(ec))) return; if (e_object_is_del(E_OBJECT(ec))) return; if (ec->comp_data) { E_FREE(ec->comp_data->shell.data); if (ec->comp_data->mapped) { if ((ec->comp_data->shell.surface) && (ec->comp_data->shell.unmap)) ec->comp_data->shell.unmap(ec->comp_data->shell.surface); } if (ec->parent) { ec->parent->transients = eina_list_remove(ec->parent->transients, ec); } /* wl_resource_destroy(ec->comp_data->shell.surface); */ ec->comp_data->shell.surface = NULL; } } }
void e_int_config_wallpaper_web_del(E_Dialog *dia) { Web *web; Ecore_File_Download_Job *job; Exchange_Object *wp; Eina_List *l; web = dia->data; e_int_config_wallpaper_web_done(web->parent); EINA_LIST_FOREACH(web->jobs, l, job) ecore_file_download_abort(job); EINA_LIST_FREE(web->objs, wp) exchange_object_free(wp); evas_object_del(web->list); evas_object_del(web->textblock); evas_object_del(web->image); E_FREE(web); e_object_unref(E_OBJECT(dia)); exchange_shutdown(); }
static void _client_item_free(Evry_Item *it) { GET_BORDER(bi, it); e_object_unref(E_OBJECT(bi->client)); E_FREE(bi); }
static void _border_item_free(Evry_Item *it) { GET_BORDER(bi, it); e_object_unref(E_OBJECT(bi->border)); E_FREE(bi); }
void itask_item_free(Itask_Item *ic) { if (ic->o_icon) evas_object_del(ic->o_icon); if (ic->o_holder) evas_object_del(ic->o_holder); e_object_unref(E_OBJECT(ic->border)); ic->itask->items = eina_list_remove(ic->itask->items, ic); itask_update(ic->itask); free(ic); }
static void _itask_menu_cb_item_drag_finished(E_Drag *drag, int dropped) { E_Border *bd; bd = drag->data; if (!dropped) { e_border_desk_set(bd, e_desk_current_get(bd->zone)); if(bd->iconic) e_border_uniconify(bd); else e_border_raise(bd); } e_object_unref(E_OBJECT(bd)); }
static void _e_popup_free(E_Popup *pop) { if (pop->idle_enterer) ecore_idle_enterer_del(pop->idle_enterer); pop->idle_enterer = NULL; E_FREE(pop->shape_rects); pop->shape_rects_num = 0; e_container_shape_hide(pop->shape); e_object_del(E_OBJECT(pop->shape)); e_canvas_del(pop->ecore_evas); ecore_evas_free(pop->ecore_evas); e_object_unref(E_OBJECT(pop->zone)); pop->zone->popups = eina_list_remove(pop->zone->popups, pop); _e_popup_list = eina_list_remove(_e_popup_list, pop); eina_hash_del(_e_popup_hash, e_util_winid_str_get(pop->evas_win), pop); if (pop->name) eina_stringshare_del(pop->name); free(pop); }