/** * @brief Implementation AtkObject->ref_child callback * * ATK doc says:\n * Gets a reference to the specified accessible child of the object. The * accessible children are 0-based so the first accessible child is at index 0, * the second at index 1 and so on. * * @returns an AtkObject representing the specified accessible child of the * accessible. */ static AtkObject * eail_naviframe_ref_child(AtkObject *obj, gint i) { Eina_List *list; EailNaviframe *naviframe; EailWidget *widget; Evas_Object *e_object; g_return_val_if_fail(EAIL_IS_NAVIFRAME(obj), NULL); naviframe = EAIL_NAVIFRAME(obj); widget = EAIL_WIDGET(naviframe); e_object = eail_widget_get_widget(widget); list = elm_naviframe_items_get(e_object); int list_count = eina_list_count(list); if (i >= list_count) { eina_list_free(list); return NULL; } AtkObject *child = eail_naviframe_page_new(obj, i); atk_object_initialize(child, eina_list_nth(list, i)); g_object_ref(child); naviframe->cached_pages = eina_list_append(naviframe->cached_pages, child); eina_list_free(list); return child; }
static JSBool elixir_evas_objects_in_rectangle_get(JSContext *cx, uintN argc, jsval *vp) { JSObject *array; Eina_List *list; Eina_List *walker; Evas *evas; int x; int y; int w; int h; int include_pass_events_objects; int include_hidden_objects; int i; elixir_value_t val[7]; if (!elixir_params_check(cx, _evas_four_int_double_bool_params, val, argc, JS_ARGV(cx, vp))) return JS_FALSE; GET_PRIVATE(cx, val[0].v.obj, evas); x = val[1].v.num; y = val[2].v.num; w = val[3].v.num; h = val[4].v.num; include_pass_events_objects = val[5].v.bol; include_hidden_objects = val[6].v.bol; list = evas_objects_in_rectangle_get(evas, x, y, w, h, include_pass_events_objects, include_hidden_objects); if (!list) { JS_SET_RVAL(cx, vp, JSVAL_NULL); return JS_TRUE; } array = elixir_return_array(cx, vp); if (!array) { eina_list_free(list); return JS_FALSE; } for (i = 0, walker = list; walker; walker = eina_list_next(walker), ++i) { Evas_Object *obj; jsval js_obj; obj = eina_list_data_get(walker); evas_object_to_jsval(cx, obj, &js_obj); if (JS_SetElement(cx, array, i, &js_obj) == JS_FALSE) { eina_list_free(list); return JS_FALSE; } } return JS_TRUE; }
static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) { if (cfdata->ilist_feeds_sel) eina_list_free(cfdata->ilist_feeds_sel); if (cfdata->ilist_selected_feeds_sel) eina_list_free(cfdata->ilist_selected_feeds_sel); cfdata->ni->config_dialog_content = NULL; free(cfdata); }
int main(int argc, char **argv) { Eet_File *theme_ef; Eina_List *l = NULL; Efreet_Icon_Theme *theme; int i; efreet_cache_update = 0; if (!efreet_init()) return -1; theme_ef = eet_open(efreet_icon_theme_cache_file(), EET_FILE_MODE_READ); if (!theme_ef) return -1; if (argc > 1) { for (i = 1; i < argc; i++) { theme = eet_data_read(theme_ef, efreet_icon_theme_edd(EINA_FALSE), argv[i]); if (theme) l = eina_list_append(l, theme); } } else { char **keys; int num; keys = eet_list(theme_ef, "*", &num); if (keys) { for (i = 0; i < num; i++) { theme = eet_data_read(theme_ef, efreet_icon_theme_edd(EINA_FALSE), keys[i]); if (theme) l = eina_list_append(l, theme); } free(keys); } } EINA_LIST_FREE(l, theme) { void *data; dump(theme); /* free theme */ eina_list_free(theme->paths); eina_list_free(theme->inherits); EINA_LIST_FREE(theme->directories, data) free(data); free(theme); }
EINTERN int e_dnd_shutdown(void) { E_FREE_LIST(_drag_list, e_object_del); _active_handlers = eina_list_free(_active_handlers); E_FREE_LIST(_drop_handlers, e_drop_handler_del); E_FREE_LIST(_event_handlers, ecore_event_handler_del); eina_hash_free(_drop_win_hash); eina_hash_free(_drop_handlers_responsives); eina_stringshare_del(_type_text_uri_list); eina_stringshare_del(_type_xds); eina_stringshare_del(_type_text_x_moz_url); eina_stringshare_del(_type_enlightenment_x_file); _type_text_uri_list = NULL; _type_xds = NULL; _type_text_x_moz_url = NULL; _type_enlightenment_x_file = NULL; _text_atom = 0; return 1; }
EINTERN int e_thumb_shutdown(void) { _e_thumb_thumbnailers_kill_cancel(); _e_thumb_cb_kill(NULL); if (_exe_del_handler) ecore_event_handler_del(_exe_del_handler); _exe_del_handler = NULL; _thumbnailers = eina_list_free(_thumbnailers); E_FREE_LIST(_thumbnailers_exe, ecore_exe_free); _thumb_queue = eina_list_free(_thumb_queue); _objid = 0; eina_hash_free(_thumbs); _thumbs = NULL; _pending = 0; return 1; }
EAPI int ecore_shutdown(void) { int (*_ecore_shutdown)(void) = dlsym(RTLD_NEXT, "ecore_shutdown"); if (_hook_setting) { if (vr_list && _hook_setting->recording) write_events(_hook_setting->file_name, vr_list); tsuite_evas_hook_reset(); free(_hook_setting); _hook_setting = NULL; } if (ts.td) free(ts.td); evas_list = eina_list_free(evas_list); memset(&ts, 0, sizeof(Tsuite_Data)); return _ecore_shutdown(); }
static void _cb_feed_change(void *data, Evas_Object *obj) { E_Config_Dialog_Data *cfdata; E_Ilist_Item *item; News_Feed *feed; Eina_List *sel, *items, *l; int i; cfdata = data; if (cfdata->ilist_feeds_sel) eina_list_free(cfdata->ilist_feeds_sel); sel = NULL; items = e_widget_ilist_items_get(cfdata->ilist_feeds); for (l=items, i=0; l; l=eina_list_next(l), i++) { item = l->data; if (item->header) continue; if (!item->selected) continue; feed = e_widget_ilist_nth_data_get(cfdata->ilist_feeds, i); sel = eina_list_append(sel, feed); } cfdata->ilist_feeds_sel = sel; if (e_widget_ilist_selected_get(cfdata->ilist_feeds) >= 0) { if (cfdata->button_add) e_widget_disabled_set(cfdata->button_add, 0); } else { if (cfdata->button_add) e_widget_disabled_set(cfdata->button_add, 1); } }
void theme_text_clear() { if (messages) { Eina_List *l = NULL; Exquisite_Text_Line *t = NULL; for(l = messages; l; l = l->next) { t = l->data; eina_stringshare_del(t->message); if(t->status_text) eina_stringshare_del(t->status_text); free(l->data); } eina_list_free(messages); messages = NULL; } if (edje_object_part_exists(o_bg, "textarea") && edje_object_part_exists(o_bg, "statusarea")) { edje_object_signal_emit(o_bg, "exquisite", "text_clear"); edje_object_part_text_set(o_bg, "textarea", ""); edje_object_part_text_set(o_bg, "statusarea", ""); } }
void etam_packets_free(Etam_Packets *packets) { unsigned int i; unsigned short j; if (EINA_REFCOUNT_GET(packets)) return ; eina_rwlock_free(&packets->lock); switch (packets->type) { case ETAM_T_BOOLEAN: for (i = 0; i < packets->packets_count; ++i) free(packets->u.boolean[i].rle_value); free(packets->u.boolean); break; case ETAM_T_LONG_LONG: for (i = 0; i < packets->packets_count; ++i) free(packets->u.long_long[i]); free(packets->u.long_long); break; case ETAM_T_STRING: /* It is assumed that all string are coming from Eet dictionnary, none have been directly inserted */ for (i = 0; i < packets->packets_count; ++i) free(packets->u.string); free(packets->u.string); break; case ETAM_G_STRINGS: for (i = 0; i < packets->packets_count; ++i) if (packets->u.strings[i]) for (j = 0; j < 1024; ++j) eina_list_free(packets->u.strings[i]->values[j]); free(packets->u.strings); break; case ETAM_T_NONE: case ETAM_T_CHAR: case ETAM_T_UCHAR: case ETAM_T_SHORT: case ETAM_T_USHORT: case ETAM_T_INT: case ETAM_T_UINT: case ETAM_T_ULONG_LONG: case ETAM_T_FLOAT: case ETAM_T_DOUBLE: case ETAM_T_F32P32: case ETAM_T_F16P16: case ETAM_T_F8P24: case ETAM_T_NULL: case ETAM_T_RECTANGLE: case ETAM_G_RECTANGLES: case ETAM_G_TAGGED_RECTANGLES: default: fprintf(stderr, "Destruction of packet type %i impossible\n", packets->type); } free(packets); }
PREFIX value ml_elm_naviframe_items_get(value v_obj) { Eina_List* list = elm_naviframe_items_get((Evas_Object*) v_obj); value v_list = copy_Eina_List_Elm_Object_Item(list); eina_list_free(list); return v_list; }
void page_destroy(Evas_Object *scroller, Evas_Object *page) { Evas_Object *mapbuf; Evas_Object *bg; Evas_Object *item; Evas_Object *box; Evas_Object *index; Evas_Object *tab; Eina_List *pending_list; register unsigned int i; int page_max_app; unsigned int count; evas_object_event_callback_del(page, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints_cb); page_max_app = (int) evas_object_data_get(scroller, "page_max_app"); for (i = 0; i < page_max_app; i ++) { item = page_unpack_item_at(page, i); if (!item) continue; item_destroy(item); } pending_list = evas_object_data_get(page, "pending,list"); eina_list_free(pending_list); bg = evas_object_data_get(page, "bg"); evas_object_del(bg); box = evas_object_data_get(scroller, "box"); ret_if(NULL == box); mapbuf = mapbuf_get_mapbuf(page); if (mapbuf) { elm_box_unpack(box, mapbuf); mapbuf_unbind(mapbuf); } else { elm_box_unpack(box, page); } index = evas_object_data_get(scroller, "index"); if (index) { tab = evas_object_data_get(scroller, "tab"); count = page_scroller_count_page(scroller); index_update(tab, index, count); } evas_object_data_del(page, "win"); evas_object_data_del(page, "layout"); evas_object_data_del(page, "controlbar"); evas_object_data_del(page, "tab"); evas_object_data_del(page, "scroller"); evas_object_data_del(page, "page_edje"); evas_object_data_del(page, "page_max_app"); evas_object_data_del(page, "bg"); evas_object_data_del(page, "pending,list"); evas_object_data_del(page, "dirty"); layout_unload_edj(page); }
/** * @brief Get index of object in parent object * * @param obj object instance * * @returns object index */ static gint eail_naviframe_page_index_in_parent_get(AtkObject *obj) { EailNaviframePage *page = NULL; Eina_List *list = NULL; gint pos = -1, i = 0; if (!EAIL_IS_NAVIFRAME_PAGE(obj)) { ERR("Not a naviframe page"); return pos; } page = EAIL_NAVIFRAME_PAGE(obj); if (!page->naviframe) return pos; list = elm_naviframe_items_get(page->naviframe); for (i = 0; i < eina_list_count(list); ++i) { if (page->page == eina_list_nth(list, i)) { pos = i; break; } } eina_list_free(list); return pos; }
static void _cpuclock_status_free(Cpu_Status *s) { Eina_List *l; if (eina_list_count(s->frequencies)) eina_list_free(s->frequencies); if (s->governors) { for (l = s->governors; l; l = l->next) E_FREE(l->data); eina_list_free(s->governors); } E_FREE(s->cur_governor); if (s->orig_governor) eina_stringshare_del(s->orig_governor); E_FREE(s); }
OD_Window * od_wm_window_prev_by_window_class_get(const char *name) { Eina_List *l = NULL; Eina_List *tmp = NULL; Eina_List *last = NULL; OD_Window *win = NULL; OD_Window *result = NULL; OD_Window *current = NULL; if ((current = evas_hash_find(clients_current, name))) { clients_current = evas_hash_del(clients_current, name, current); for (l = clients; l; l = l->next) { if ((win = l->data)) { if (od_wm_iconified(win->id)) continue; if (win->applnk && win->applnk->data.applnk.winclass) { if (!strcmp(name, win->applnk->data.applnk.winclass)) { tmp = eina_list_append(tmp, win); } } } } for (l = tmp; l; l = l->next) { #if 0 fprintf(stderr, "%8x %8x\n", ((OD_Window *) l->data)->id, current->id); #endif if ((l->data == current) && (l->prev)) { result = l->prev->data; } } if (tmp) { last = eina_list_last(tmp); if (!result && last) result = last->data; } eina_list_free(tmp); } else { for (l = clients; l; l = l->next) { if ((win = l->data)) { if (win->applnk && win->applnk->data.applnk.winclass) { if (od_wm_iconified(win->id)) continue; if (!strcmp(name, win->applnk->data.applnk.winclass)) { result = win; #if 0 fprintf(stderr, "%s(%8x)\n", name, win->id); #endif break; } } } } } if (result) { clients_current = evas_hash_add(clients_current, name, result); } return (result); }
/* local subsystem functions */ static void _e_xinerama_clean(void) { E_FREE_LIST(all_screens, free); chosen_screens = eina_list_free(chosen_screens); E_FREE_LIST(fake_screens, free); }
/** * @brief Free an #Azy_Client * * This function frees a client and ALL associated data. If called * on a connected client, azy_client_close will be called and then the client * will be freed. * @param client The client (NOT NULL) */ void azy_client_free(Azy_Client *client) { DBG("(client=%p)", client); if (!AZY_MAGIC_CHECK(client, AZY_MAGIC_CLIENT)) { AZY_MAGIC_FAIL(client, AZY_MAGIC_CLIENT); return; } if (client->connected) azy_client_close(client); AZY_MAGIC_SET(client, AZY_MAGIC_NONE); if (client->addr) eina_stringshare_del(client->addr); if (client->session_id) eina_stringshare_del(client->session_id); if (client->add) ecore_event_handler_del(client->add); if (client->del) ecore_event_handler_del(client->del); if (client->upgrade) ecore_event_handler_del(client->upgrade); if (client->callbacks) eina_hash_free(client->callbacks); if (client->free_callbacks) eina_hash_free(client->free_callbacks); if (client->conns) client->conns = eina_list_free(client->conns); free(client); }
void on_btn_save_clicked(Etk_Object *object, void *data) { Cover_Entry *ce; Eet_File *ef; Eina_List *list; char *cover_file; list = cover_changed; asprintf(&cover_file, "%s/.e/apps/emphasis/cover.eet", getenv("HOME")); ef = eet_open(cover_file, EET_FILE_MODE_READ_WRITE); if (!ef) { fprintf(stderr, "can't open %s\n", cover_file); free(cover_file); return; } while (cover_changed) { ce = eina_list_data_get(cover_changed); eet_write(ef, ce->key, ce->path, strlen(ce->path)+1, 0); eet_clearcache(); free(ce->key); free(ce->path); free(ce); cover_changed = eina_list_next(cover_changed); } eina_list_free(list); eet_close(ef); free(cover_file); }
EAPI int ecore_audio_shutdown(void) { DBG("Ecore_Audio shutdown"); if (--_ecore_audio_init_count != 0) return _ecore_audio_init_count; #ifdef HAVE_SNDFILE ecore_audio_sndfile_lib_unload(); #endif /* HAVE_SNDFILE */ #ifdef HAVE_PULSE ecore_audio_pulse_lib_unload(); #endif /* HAVE_PULSE */ /* FIXME: Shutdown all the inputs and outputs first */ eina_log_timing(_ecore_audio_log_dom, EINA_LOG_STATE_START, EINA_LOG_STATE_SHUTDOWN); eina_list_free(ecore_audio_modules); eina_log_domain_unregister(_ecore_audio_log_dom); _ecore_audio_log_dom = -1; efl_object_shutdown(); ecore_shutdown(); return _ecore_audio_init_count; }
E_API void e_xinerama_screens_set(Eina_List *screens) { E_FREE_LIST(all_screens, free); chosen_screens = eina_list_free(chosen_screens); all_screens = screens; _e_xinerama_update(); }
static JSBool elixir_evas_object_smart_members_get(JSContext *cx, uintN argc, jsval *vp) { Evas_Object *know = NULL; Eina_List *list; Eina_List *head; JSObject *array; int i; elixir_value_t val[1]; if (!elixir_params_check(cx, _evas_object_smart_params, val, argc, JS_ARGV(cx, vp))) return JS_FALSE; GET_PRIVATE(cx, val[0].v.obj, know); list = (Eina_List*) evas_object_smart_members_get(know); if (!list) { JS_SET_RVAL(cx, vp, JSVAL_NULL); return JS_TRUE; } array = elixir_return_array(cx, vp); if (!array) { eina_list_free(list); return JS_FALSE; } for (i = 0, head = list; list; list = eina_list_next(list), ++i) { Evas_Object *obj; jsval js_obj; obj = eina_list_data_get(list); evas_object_to_jsval(cx, obj, &js_obj); if (JS_SetElement(cx, array, i, &js_obj) == JS_FALSE) return JS_FALSE; } eina_list_free(head); return JS_TRUE; }
/** * @brief Get number of created widgets * * @param obj EailGengrid instance * * @returns number of created widgets */ static gint eail_gengrid_n_items_get(AtkObject *obj) { gint n_items; Eina_List *items = eail_gengrid_items_get(EAIL_GENGRID(obj)); n_items = eina_list_count(items); eina_list_free(items); return n_items; }
void _view_free(View_Common *common) { if (common->monitor) efl_del(common->monitor); common->monitor = NULL; if (common->selection) eina_list_free(common->selection); common->selection = NULL; if (common->files) eina_hash_free(common->files); common->files = NULL; }
static void _e_wid_del_hook(Evas_Object *obj) { E_Widget_Data *wd; int i = 0; wd = e_widget_data_get(obj); if (!wd) return; for (i = 0; i < E_COLOR_COMPONENT_MAX; i++) E_FREE(wd->values[i]); E_FREE(wd->values); eina_list_free(wd->sliders); eina_list_free(wd->entries); E_FREE(wd); }
/** * @brief Destructor for naviframe object */ static void eail_naviframe_finalize(GObject *obj) { EailNaviframe *naviframe = EAIL_NAVIFRAME(obj); eina_list_free(naviframe->cached_pages); if (naviframe->click_title_description) free(naviframe->click_title_description); G_OBJECT_CLASS(eail_naviframe_parent_class)->finalize(obj); }
static void _sd_del(void *data, Evas *e, Evas_Object *obj, void *event_info) { Smart_Data *sd = data; ENNA_OBJECT_DEL(sd->controls); ENNA_OBJECT_DEL(sd->slideshow); eina_list_free(sd->items); enna_input_listener_del(sd->listener); ENNA_FREE(sd); }
int main(int argc, char **argv) { (void)argc; (void)argv; Eina_List *list = NULL, *r_list; Eina_List *l; Eina_Iterator *itr; void *list_data; eina_init(); list = eina_list_append(list, "caprica"); list = eina_list_append(list, "sagitarius"); list = eina_list_append(list, "aerilon"); list = eina_list_append(list, "gemenon"); list = eina_list_promote_list(list, eina_list_nth_list(list, 2)); list = eina_list_demote_list(list, eina_list_nth_list(list, 2)); list = eina_list_remove(list, "sagitarius"); l = eina_list_data_find_list(list, "aerilon"); eina_list_data_set(l, "aquarius"); printf("size: %d\n", eina_list_count(list)); r_list = eina_list_reverse_clone(list); itr = eina_list_iterator_new(r_list); EINA_ITERATOR_FOREACH(itr, list_data) printf("%s\n", (char*)list_data); eina_iterator_free(itr); eina_list_free(list); eina_list_free(r_list); eina_shutdown(); return 0; }
/** * @internal * @return Returns no value * @brief Shuts down the icon system */ void efreet_icon_shutdown(void) { IF_RELEASE(efreet_icon_user_dir); IF_RELEASE(efreet_icon_deprecated_user_dir); IF_FREE_LIST(efreet_icon_extensions, eina_stringshare_del); efreet_extra_icon_dirs = eina_list_free(efreet_extra_icon_dirs); eina_log_domain_unregister(_efreet_icon_log_dom); _efreet_icon_log_dom = -1; }
//Free the loaded subtitles void eclair_subtitles_free(Eclair_Subtitles *subtitles) { Eina_List *l; Eclair_Subtitle *sub; if (!subtitles) return; for (l = subtitles->subtitles; l && (sub = l->data); l = l->next) free(sub->subtitle); eina_list_free(subtitles->subtitles); subtitles->subtitles = NULL; }
/** * @brief Implementation AtkObject->get_n_children callback * * ATK doc says:\n * Gets the number of accessible children of the accessible. * * @returns an integer representing the number of accessible children of * the accessible */ static gint eail_genlist_get_n_children(AtkObject *obj) { gint n_items; Eina_List *items; items = eail_genlist_get_items(EAIL_GENLIST(obj)); n_items = eina_list_count(items); eina_list_free(items); return n_items; }