From: Enlightenment S. <no-...@en...> - 2009-02-25 17:40:45
|
Log: * efreet: Prevent crash when no Efreet_Desktop are found. Author: cedric Date: 2009-02-25 09:40:40 -0800 (Wed, 25 Feb 2009) New Revision: 39214 Modified: trunk/efreet/src/lib/efreet_utils.c Modified: trunk/efreet/src/lib/efreet_utils.c =================================================================== --- trunk/efreet/src/lib/efreet_utils.c 2009-02-25 17:08:17 UTC (rev 39213) +++ trunk/efreet/src/lib/efreet_utils.c 2009-02-25 17:40:40 UTC (rev 39214) @@ -388,6 +388,8 @@ eina_iterator_foreach(it, EINA_EACH(efreet_util_cache_search_name), &search); eina_iterator_free(it); + if (!search.result) return NULL; + efreet_desktop_ref(search.result->desktop); return search.result->desktop; } @@ -407,6 +409,8 @@ eina_iterator_foreach(it, EINA_EACH(efreet_util_cache_search_generic_name), &search); eina_iterator_free(it); + if (!search.result) return NULL; + efreet_desktop_ref(search.result->desktop); return search.result->desktop; } |
From: Enlightenment S. <no-...@en...> - 2009-02-26 16:14:32
|
Log: * efreet: Fix opening file. Author: cedric Date: 2009-02-26 08:14:22 -0800 (Thu, 26 Feb 2009) New Revision: 39246 Modified: trunk/efreet/src/lib/efreet_utils.c Modified: trunk/efreet/src/lib/efreet_utils.c =================================================================== --- trunk/efreet/src/lib/efreet_utils.c 2009-02-26 14:43:59 UTC (rev 39245) +++ trunk/efreet/src/lib/efreet_utils.c 2009-02-26 16:14:22 UTC (rev 39246) @@ -825,9 +825,9 @@ search = fdata; ud = value; - if (!ud->desktop->mime_types) return EINA_FALSE; + if (!ud->desktop->mime_types) return EINA_TRUE; EINA_LIST_FOREACH(ud->desktop->mime_types, l, mime) - if (search->what == mime) + if (search->what == mime) { efreet_desktop_ref(ud->desktop); search->list = eina_list_append(search->list, ud->desktop); @@ -956,7 +956,7 @@ search = fdata; ud = value; - if (!ud->desktop->exec) return EINA_FALSE; + if (!ud->desktop->exec) return EINA_TRUE; exec = ecore_file_app_exe_get(ud->desktop->exec); if (!exec) return EINA_TRUE; |
From: Enlightenment S. <no-...@en...> - 2009-03-26 17:55:01
|
Log: * efreet: Remove ecore_dlist from Efreet. Author: cedric Date: 2009-03-26 10:54:50 -0700 (Thu, 26 Mar 2009) New Revision: 39730 Modified: trunk/efreet/src/lib/efreet_desktop.c trunk/efreet/src/lib/efreet_menu.c trunk/efreet/src/lib/efreet_private.h trunk/efreet/src/lib/efreet_utils.c trunk/efreet/src/lib/efreet_xml.c trunk/efreet/src/lib/efreet_xml.h Modified: trunk/efreet/src/lib/efreet_desktop.c =================================================================== --- trunk/efreet/src/lib/efreet_desktop.c 2009-03-26 16:08:45 UTC (rev 39729) +++ trunk/efreet/src/lib/efreet_desktop.c 2009-03-26 17:54:50 UTC (rev 39730) @@ -1089,7 +1089,7 @@ /** * @param desktop: the desktop entry - * @param files: an ecore list of file names to execute, as either absolute paths, + * @param files: an eina list of file names to execute, as either absolute paths, * relative paths, or uris * @param func: a callback to call for each prepared command line * @param data: user data passed to the callback @@ -1105,8 +1105,8 @@ /** * @param desktop: the desktop entry - * @param files an ecore list of local files, as absolute paths, local paths, or file:// uris (or NULL to get exec string with no files appended) - * @return Returns an ecore list of exec strings + * @param files an eina list of local files, as absolute paths, local paths, or file:// uris (or NULL to get exec string with no files appended) + * @return Returns an eina list of exec strings * @brief Get the command to use to execute a desktop entry * * The returned list and each of its elements must be freed. @@ -1153,7 +1153,7 @@ /** * @param desktop: the desktop entry - * @param files: an ecore list of file names to execute, as either absolute paths, + * @param files: an eina list of file names to execute, as either absolute paths, * relative paths, or uris * @param cb_command: a callback to call for each prepared command line * @param cb_progress: a callback to get progress for the downloads Modified: trunk/efreet/src/lib/efreet_menu.c =================================================================== --- trunk/efreet/src/lib/efreet_menu.c 2009-03-26 16:08:45 UTC (rev 39729) +++ trunk/efreet/src/lib/efreet_menu.c 2009-03-26 17:54:50 UTC (rev 39730) @@ -41,7 +41,7 @@ } name; /**< The names for this menu */ Efreet_Desktop *directory; /**< The directory */ - Ecore_DList *directories; /**< All the directories set in the menu file */ + Eina_List *directories; /**< All the directories set in the menu file */ Efreet_Menu_Move *current_move; /**< The current move */ @@ -50,7 +50,7 @@ Eina_List *app_pool; /**< application pool */ Eina_List *applications; /**< applications in this menu */ - Ecore_DList *directory_dirs; /**< .directory file directories */ + Eina_List *directory_dirs; /**< .directory file directories */ Eina_Hash *directory_cache; /**< .directory dirs */ Eina_List *moves; /**< List of moves to be handled by the menu */ @@ -1001,10 +1001,10 @@ internal->applications = eina_list_free(internal->applications); - IF_FREE_DLIST(internal->directories); + IF_FREE_LIST(internal->directories, free); IF_FREE_LIST(internal->app_dirs, efreet_menu_app_dir_free); IF_FREE_LIST(internal->app_pool, efreet_menu_desktop_free); - IF_FREE_DLIST(internal->directory_dirs); + IF_FREE_LIST(internal->directory_dirs, free); IF_FREE_HASH(internal->directory_cache); IF_FREE_LIST(internal->moves, efreet_menu_move_free); @@ -1053,10 +1053,10 @@ efreet_menu_handle_menu(Efreet_Menu_Internal *internal, Efreet_Xml *xml) { Efreet_Xml *child; + Eina_List *l; int (*cb)(Efreet_Menu_Internal *parent, Efreet_Xml *xml); - ecore_list_last_goto(xml->children); - while ((child = ecore_dlist_previous(xml->children))) + EINA_LIST_REVERSE_FOREACH(xml->children, l, child) { cb = eina_hash_find(efreet_menu_handle_cbs, child->tag); if (cb) @@ -1206,13 +1206,13 @@ if (!path) return 0; /* we've already got this guy in our list we can skip it */ - if (ecore_list_find(parent->directory_dirs, ECORE_COMPARE_CB(strcmp), path)) + if (eina_list_search_unsorted(parent->directory_dirs, EINA_COMPARE_CB(strcmp), path)) { FREE(path); return 1; } - ecore_dlist_prepend(parent->directory_dirs, path); + parent->directory_dirs = eina_list_prepend(parent->directory_dirs, path); return 1; } @@ -1237,10 +1237,10 @@ "desktop-directories"); EINA_LIST_FOREACH(dirs, l, dir) { - if (ecore_list_find(parent->directory_dirs, ECORE_COMPARE_CB(strcmp), dir)) + if (eina_list_search_unsorted(parent->directory_dirs, EINA_COMPARE_CB(strcmp), dir)) continue; - ecore_dlist_prepend(parent->directory_dirs, strdup(dir)); + parent->directory_dirs = eina_list_prepend(parent->directory_dirs, strdup(dir)); } while (dirs) @@ -1293,7 +1293,7 @@ if (!parent || !xml) return 0; efreet_menu_create_directories_list(parent); - ecore_dlist_prepend(parent->directories, strdup(xml->text)); + parent->directories = eina_list_prepend(parent->directories, strdup(xml->text)); return 1; } @@ -1867,7 +1867,7 @@ /* add the legacy dir as a directory dir */ efreet_menu_create_directory_dirs_list(legacy_internal); - ecore_dlist_append(legacy_internal->directory_dirs, strdup(path)); + legacy_internal->directory_dirs = eina_list_append(legacy_internal->directory_dirs, strdup(path)); /* setup a filter for all the conforming .desktop files in the legacy * dir */ @@ -2003,13 +2003,13 @@ efreet_menu_handle_move(Efreet_Menu_Internal *parent, Efreet_Xml *xml) { Efreet_Xml *child; + Eina_List *l; if (!parent || !xml) return 0; efreet_menu_create_move_list(parent); - ecore_list_first_goto(xml->children); - while ((child = ecore_list_next(xml->children))) + EINA_LIST_FOREACH(xml->children, l, child) { int (*cb)(Efreet_Menu_Internal *parent, Efreet_Xml *xml); @@ -2110,6 +2110,7 @@ efreet_menu_handle_layout(Efreet_Menu_Internal *parent, Efreet_Xml *xml) { Efreet_Xml *child; + Eina_List *l; if (!parent || !xml) return 0; @@ -2118,8 +2119,7 @@ efreet_menu_create_layout_list(parent); - ecore_list_first_goto(xml->children); - while ((child = ecore_list_next(xml->children))) + EINA_LIST_FOREACH(xml->children, l, child) { int (*cb)(Efreet_Menu_Internal *parent, Efreet_Xml *xml, int def); @@ -2152,6 +2152,7 @@ { const char *val; Efreet_Xml *child; + Eina_List *l; if (!parent || !xml) return 0; @@ -2175,8 +2176,7 @@ efreet_menu_create_default_layout_list(parent); - ecore_list_first_goto(xml->children); - while ((child = ecore_list_next(xml->children))) + EINA_LIST_FOREACH(xml->children, l, child) { int (*cb)(Efreet_Menu_Internal *parent, Efreet_Xml *xml, int def); @@ -2353,9 +2353,9 @@ efreet_menu_handle_filter_op(Efreet_Menu_Filter_Op *op, Efreet_Xml *xml) { Efreet_Xml *child; + Eina_List *l; - ecore_list_first_goto(xml->children); - while ((child = ecore_list_next(xml->children))) + EINA_LIST_FOREACH(xml->children, l, child) { int (*cb)(Efreet_Menu_Filter_Op *op, Efreet_Xml *xml); @@ -2971,34 +2971,36 @@ if (src->directories) { efreet_menu_create_directories_list(dest); - ecore_dlist_prepend_list(dest->directories, src->directories); + dest->directories = eina_list_merge(src->directories, dest->directories); + src->directories = NULL; } if (src->app_dirs) { efreet_menu_create_app_dirs_list(dest); dest->app_dirs = eina_list_merge(src->app_dirs, dest->app_dirs); - src->app_dirs = NULL; + src->app_dirs = NULL; } if (src->directory_dirs) { efreet_menu_create_directory_dirs_list(dest); - ecore_dlist_prepend_list(dest->directory_dirs, src->directory_dirs); + dest->directory_dirs = eina_list_merge(src->directory_dirs, dest->directory_dirs); + src->directory_dirs = NULL; } if (src->moves) { efreet_menu_create_move_list(dest); dest->moves = eina_list_merge(src->moves, dest->moves); - src->moves = NULL; + src->moves = NULL; } if (src->filters) { efreet_menu_create_filter_list(dest); dest->filters = eina_list_merge(src->filters, dest->filters); - src->filters = NULL; + src->filters = NULL; } if (src->sub_menus) @@ -3270,8 +3272,7 @@ { if (!internal || internal->directory_dirs) return; - internal->directory_dirs = ecore_dlist_new(); - ecore_dlist_free_cb_set(internal->directory_dirs, free); + internal->directory_dirs = NULL; } static void @@ -3311,8 +3312,7 @@ { if (!internal || internal->directories) return; - internal->directories = ecore_dlist_new(); - ecore_dlist_free_cb_set(internal->directories, free); + internal->directories = NULL; } static char * @@ -3429,21 +3429,20 @@ efreet_menu_directory_dirs_process(Efreet_Menu_Internal *internal) { const char *path; + Eina_List *l; if (internal->directory_dirs) { internal->directory_cache = eina_hash_string_superfast_new(EINA_FREE_CB(efreet_desktop_free)); - ecore_dlist_last_goto(internal->directory_dirs); - while ((path = ecore_dlist_previous(internal->directory_dirs))) + EINA_LIST_REVERSE_FOREACH(internal->directory_dirs, l, path) efreet_menu_directory_dir_scan(path, NULL, internal->directory_cache); } if (internal->directories) { - ecore_dlist_last_goto(internal->directories); - while ((path = ecore_dlist_previous(internal->directories))) + EINA_LIST_REVERSE_FOREACH(internal->directories, l, path) { internal->directory = efreet_menu_directory_get(internal, path); if (internal->directory) break; Modified: trunk/efreet/src/lib/efreet_private.h =================================================================== --- trunk/efreet/src/lib/efreet_private.h 2009-03-26 16:08:45 UTC (rev 39729) +++ trunk/efreet/src/lib/efreet_private.h 2009-03-26 17:54:50 UTC (rev 39730) @@ -79,17 +79,6 @@ } while (0) /** - * @def IF_FREE_DLIST(x) - * If x is a valid pointer destroy x and set to NULL - */ -#define IF_FREE_DLIST(x) do { \ - if (x) { \ - Ecore_DList *__tmp; __tmp = (x); (x) = NULL; ecore_dlist_destroy(__tmp); \ - } \ - (x) = NULL; \ -} while (0) - -/** * @def IF_FREE_HASH(x) * If x is a valid pointer destroy x and set to NULL */ Modified: trunk/efreet/src/lib/efreet_utils.c =================================================================== --- trunk/efreet/src/lib/efreet_utils.c 2009-03-26 16:08:45 UTC (rev 39729) +++ trunk/efreet/src/lib/efreet_utils.c 2009-03-26 17:54:50 UTC (rev 39730) @@ -490,7 +490,7 @@ /** * Find all desktop categories - * This list must be freed using ecore_list_destroy() + * This list must be freed using EINA_LIST_FREE * * @return an Eina_List of category names (const char *) */ @@ -1102,7 +1102,7 @@ /** * Returns a list of .menu files found in the various config dirs. - * @return An ecore list of menu file paths (const char *). This must be freed with ecore_list_destroy(). + * @return An eina list of menu file paths (const char *). This must be freed with EINA_LIST_FREE. */ EAPI Eina_List * efreet_util_menus_find(void) Modified: trunk/efreet/src/lib/efreet_xml.c =================================================================== --- trunk/efreet/src/lib/efreet_xml.c 2009-03-26 16:08:45 UTC (rev 39729) +++ trunk/efreet/src/lib/efreet_xml.c 2009-03-26 17:54:50 UTC (rev 39730) @@ -97,8 +97,7 @@ void efreet_xml_del(Efreet_Xml *xml) { - if (xml->children) ecore_dlist_destroy(xml->children); - xml->children = NULL; + IF_FREE_LIST(xml->children, efreet_xml_cb_attribute_free); if (xml->tag) eina_stringshare_del(xml->tag); if (xml->attributes) @@ -166,11 +165,11 @@ if (xml->children) { Efreet_Xml *child; + Eina_List *l; printf(">\n"); - ecore_dlist_first_goto(xml->children); - while ((child = ecore_dlist_next(xml->children))) + EINA_LIST_FOREACH(xml->children, l, child) efreet_xml_dump(child, level + 1); for (i = 0; i < level; i++) @@ -200,8 +199,7 @@ return NULL; } - xml->children = ecore_dlist_new(); - ecore_dlist_free_cb_set(xml->children, efreet_xml_cb_attribute_free); + xml->children = NULL; xml->tag = tag; efreet_xml_attributes_parse(data, size, &(xml->attributes)); @@ -214,7 +212,7 @@ if (efreet_xml_tag_close(data, size, xml->tag)) return xml; while ((sub_xml = efreet_xml_parse(data, size))) - ecore_dlist_append(xml->children, sub_xml); + xml->children = eina_list_append(xml->children, sub_xml); efreet_xml_tag_close(data, size, xml->tag); Modified: trunk/efreet/src/lib/efreet_xml.h =================================================================== --- trunk/efreet/src/lib/efreet_xml.h 2009-03-26 16:08:45 UTC (rev 39729) +++ trunk/efreet/src/lib/efreet_xml.h 2009-03-26 17:54:50 UTC (rev 39730) @@ -42,7 +42,7 @@ Efreet_Xml_Attribute **attributes; /**< The attributes for this node */ - Ecore_DList *children; /**< Child nodes */ + Eina_List *children; /**< Child nodes */ }; int efreet_xml_init(void); |
From: Enlightenment S. <no-...@en...> - 2009-03-26 17:57:01
|
Log: * efreet: Use the right macro for the cast. Author: cedric Date: 2009-03-26 10:56:51 -0700 (Thu, 26 Mar 2009) New Revision: 39731 Modified: trunk/efreet/src/lib/efreet_base.c trunk/efreet/src/lib/efreet_desktop.c trunk/efreet/src/lib/efreet_icon.c trunk/efreet/src/lib/efreet_menu.c trunk/efreet/src/lib/efreet_mime.c Modified: trunk/efreet/src/lib/efreet_base.c =================================================================== --- trunk/efreet/src/lib/efreet_base.c 2009-03-26 17:54:50 UTC (rev 39730) +++ trunk/efreet/src/lib/efreet_base.c 2009-03-26 17:56:51 UTC (rev 39731) @@ -195,13 +195,13 @@ while (p) { *p = '\0'; - if (!eina_list_search_unsorted(dirs, (Eina_Compare_Cb)strcmp, s)) + if (!eina_list_search_unsorted(dirs, EINA_COMPARE_CB(strcmp), s)) dirs = eina_list_append(dirs, (void *)eina_stringshare_add(s)); s = ++p; p = strchr(s, ':'); } - if (!eina_list_search_unsorted(dirs, ECORE_COMPARE_CB(strcmp), s)) + if (!eina_list_search_unsorted(dirs, EINA_COMPARE_CB(strcmp), s)) dirs = eina_list_append(dirs, (void *)eina_stringshare_add(s)); FREE(tmp); Modified: trunk/efreet/src/lib/efreet_desktop.c =================================================================== --- trunk/efreet/src/lib/efreet_desktop.c 2009-03-26 17:54:50 UTC (rev 39730) +++ trunk/efreet/src/lib/efreet_desktop.c 2009-03-26 17:56:51 UTC (rev 39731) @@ -600,7 +600,7 @@ if (!desktop) return; if (eina_list_search_unsorted(desktop->categories, - (Eina_Compare_Cb)strcmp, category)) return; + EINA_COMPARE_CB(strcmp), category)) return; desktop->categories = eina_list_append(desktop->categories, (void *)eina_stringshare_add(category)); @@ -620,7 +620,7 @@ if (!desktop || !desktop->categories) return 0; if ((found = eina_list_search_unsorted(desktop->categories, - (Eina_Compare_Cb)strcmp, category))) + EINA_COMPARE_CB(strcmp), category))) { eina_stringshare_del(found); desktop->categories = eina_list_remove(desktop->categories, found); Modified: trunk/efreet/src/lib/efreet_icon.c =================================================================== --- trunk/efreet/src/lib/efreet_icon.c 2009-03-26 17:54:50 UTC (rev 39730) +++ trunk/efreet/src/lib/efreet_icon.c 2009-03-26 17:56:51 UTC (rev 39731) @@ -1566,7 +1566,7 @@ if (!list) return NULL; snprintf(key, sizeof(key), "%s %d", icon, size); - cache = eina_list_search_unsorted(list, (Eina_Compare_Cb)efreet_icon_cache_find, key); + cache = eina_list_search_unsorted(list, EINA_COMPARE_CB(efreet_icon_cache_find), key); if (cache) { if (!cache->path) Modified: trunk/efreet/src/lib/efreet_menu.c =================================================================== --- trunk/efreet/src/lib/efreet_menu.c 2009-03-26 17:54:50 UTC (rev 39730) +++ trunk/efreet/src/lib/efreet_menu.c 2009-03-26 17:56:51 UTC (rev 39731) @@ -878,7 +878,7 @@ if (!desktop || !menu) return 0; entry = eina_list_search_unsorted(menu->entries, - (Eina_Compare_Cb)efreet_menu_cb_entry_compare_desktop, + EINA_COMPARE_CB(efreet_menu_cb_entry_compare_desktop), desktop); if (entry) { @@ -1098,7 +1098,7 @@ /* if this menu already exists we just take this one and stick it on the * start of the existing one */ if ((match = eina_list_search_unsorted(parent->sub_menus, - (Eina_Compare_Cb)efreet_menu_cb_menu_compare, + EINA_COMPARE_CB(efreet_menu_cb_menu_compare), internal))) { @@ -1132,7 +1132,7 @@ /* we've already got this guy in our list we can skip it */ if (eina_list_search_unsorted(parent->app_dirs, - (Eina_Compare_Cb)efreet_menu_cb_app_dirs_compare, + EINA_COMPARE_CB(efreet_menu_cb_app_dirs_compare), path)) { FREE(path); @@ -1171,7 +1171,7 @@ Efreet_Menu_App_Dir *app_dir; if (eina_list_search_unsorted(parent->app_dirs, - (Eina_Compare_Cb)efreet_menu_cb_app_dirs_compare, + EINA_COMPARE_CB(efreet_menu_cb_app_dirs_compare), dir)) continue; @@ -2057,7 +2057,7 @@ /* XXX This seems wrong, but it makes efreet pass the fdo tests */ #ifndef STRICT_SPEC move = eina_list_search_unsorted(parent->moves, - (Eina_Compare_Cb)efreet_menu_cb_move_compare, + EINA_COMPARE_CB(efreet_menu_cb_move_compare), xml->text); if (move) { @@ -2815,7 +2815,7 @@ EINA_LIST_FOREACH(op->categories, l, t) { if (eina_list_search_unsorted(md->desktop->categories, - (Eina_Compare_Cb)strcmp, t)) + EINA_COMPARE_CB(strcmp), t)) return 1; } } @@ -2860,7 +2860,7 @@ EINA_LIST_FOREACH(op->categories, l, t) { if (!eina_list_search_unsorted(md->desktop->categories, - (Eina_Compare_Cb)strcmp, t)) + EINA_COMPARE_CB(strcmp), t)) return 0; } } @@ -2910,7 +2910,7 @@ EINA_LIST_FOREACH(op->categories, l, t) { if (eina_list_search_unsorted(md->desktop->categories, - (Eina_Compare_Cb)strcmp, t)) + EINA_COMPARE_CB(strcmp), t)) return 0; } } @@ -3014,7 +3014,7 @@ src->sub_menus = eina_list_remove(src->sub_menus, submenu); /* if this menu is in the list already we just add to that */ if ((match = eina_list_search_unsorted(dest->sub_menus, - (Eina_Compare_Cb)efreet_menu_cb_menu_compare, + EINA_COMPARE_CB(efreet_menu_cb_menu_compare), submenu))) { efreet_menu_concatenate(match, submenu); @@ -3131,7 +3131,7 @@ *part = '\0'; if (!(internal = eina_list_search_unsorted(internal->sub_menus, - (Eina_Compare_Cb)efreet_menu_cb_compare_names, + EINA_COMPARE_CB(efreet_menu_cb_compare_names), ptr))) { FREE(tmp); @@ -3146,7 +3146,7 @@ /* find the menu in the parent list */ if (!(internal = eina_list_search_unsorted(internal->sub_menus, - (Eina_Compare_Cb)efreet_menu_cb_compare_names, + EINA_COMPARE_CB(efreet_menu_cb_compare_names), ptr))) { FREE(tmp); @@ -3404,7 +3404,7 @@ } /* Don't add two files with the same id in the app pool */ if (eina_list_search_unsorted(internal->app_pool, - (Eina_Compare_Cb)efreet_menu_cb_md_compare_ids, + EINA_COMPARE_CB(efreet_menu_cb_md_compare_ids), buf2)) continue; @@ -3613,7 +3613,7 @@ { internal->sub_menus = eina_list_sort(internal->sub_menus, 0, - (Eina_Compare_Cb)efreet_menu_cb_menu_compare); + EINA_COMPARE_CB(efreet_menu_cb_menu_compare)); } #endif @@ -3710,7 +3710,7 @@ else inline_alias = layout->inline_alias; sub = eina_list_search_unsorted(internal->sub_menus, - (Eina_Compare_Cb)efreet_menu_cb_compare_names, layout->name); + EINA_COMPARE_CB(efreet_menu_cb_compare_names), layout->name); if (sub) { if (!(sub->directory && sub->directory->no_display) && !sub->deleted) @@ -3776,7 +3776,7 @@ { Efreet_Menu_Desktop *md; md = eina_list_search_unsorted(internal->applications, - (Eina_Compare_Cb)efreet_menu_cb_md_compare_ids, layout->name); + EINA_COMPARE_CB(efreet_menu_cb_md_compare_ids), layout->name); if (md) { sub_entry = efreet_menu_layout_desktop(md); @@ -3795,7 +3795,7 @@ internal->applications = eina_list_remove_list(internal->applications, internal->applications); sub_entry = eina_list_search_unsorted(entry->entries, - (Eina_Compare_Cb)efreet_menu_cb_entry_compare_desktop, + EINA_COMPARE_CB(efreet_menu_cb_entry_compare_desktop), md->desktop); if (!sub_entry) { @@ -3818,7 +3818,7 @@ continue; } sub_entry = eina_list_search_unsorted(entry->entries, - (Eina_Compare_Cb)efreet_menu_cb_entry_compare_menu, + EINA_COMPARE_CB(efreet_menu_cb_entry_compare_menu), sub); if (!sub_entry) { Modified: trunk/efreet/src/lib/efreet_mime.c =================================================================== --- trunk/efreet/src/lib/efreet_mime.c 2009-03-26 17:54:50 UTC (rev 39730) +++ trunk/efreet/src/lib/efreet_mime.c 2009-03-26 17:56:51 UTC (rev 39731) @@ -732,7 +732,7 @@ { Efreet_Mime_Glob *mime = NULL; - if ((mime = eina_list_search_unsorted(globs, (Eina_Compare_Cb)strcmp, glob))) + if ((mime = eina_list_search_unsorted(globs, EINA_COMPARE_CB(strcmp), glob))) { globs = eina_list_remove(globs, mime); IF_RELEASE(mime->glob); |
From: Enlightenment S. <no-...@en...> - 2009-03-26 18:02:22
|
Log: * efreet: On STRICT_SPEC don't handle efreet_menu_file. Author: cedric Date: 2009-03-26 11:02:17 -0700 (Thu, 26 Mar 2009) New Revision: 39732 Modified: trunk/efreet/src/lib/efreet_menu.c Modified: trunk/efreet/src/lib/efreet_menu.c =================================================================== --- trunk/efreet/src/lib/efreet_menu.c 2009-03-26 17:56:51 UTC (rev 39731) +++ trunk/efreet/src/lib/efreet_menu.c 2009-03-26 18:02:17 UTC (rev 39732) @@ -608,11 +608,13 @@ if (ecore_file_exists(menu)) return efreet_menu_parse(menu); +#ifndef STRICT_SPEC if (efreet_menu_file) { if (ecore_file_exists(efreet_menu_file)) - return efreet_menu_parse(efreet_menu_file); + return efreet_menu_parse(efreet_menu_file); } +#endif /* fallback to the XDG_CONFIG_DIRS */ config_dirs = efreet_config_dirs_get(); |
From: Enlightenment S. <no-...@en...> - 2009-10-07 12:57:25
|
Log: * efreet: Prevent div by zero. Author: cedric Date: 2009-10-07 05:57:13 -0700 (Wed, 07 Oct 2009) New Revision: 42940 Modified: trunk/efreet/src/lib/efreet_mime.c Modified: trunk/efreet/src/lib/efreet_mime.c =================================================================== --- trunk/efreet/src/lib/efreet_mime.c 2009-10-07 12:54:10 UTC (rev 42939) +++ trunk/efreet/src/lib/efreet_mime.c 2009-10-07 12:57:13 UTC (rev 42940) @@ -1125,11 +1125,10 @@ case '~': ptr++; entry->word_size = atoi(ptr); - if (((entry->word_size != 0) - && (entry->word_size != 1) - && (entry->word_size != 2) - && (entry->word_size != 4)) - || (entry->value_len % entry->word_size)) + if ((entry->word_size != 0) && ((entry->word_size != 1) + && (entry->word_size != 2) + && (entry->word_size != 4) + || (entry->value_len % entry->word_size))) { /* Invalid, Destroy */ FREE(entry->value); |
From: Enlightenment S. <no-...@en...> - 2010-03-15 13:46:54
|
Log: * efreet: Prevent crash due to freed desktop still in cache. Author: cedric Date: 2010-03-15 06:46:45 -0700 (Mon, 15 Mar 2010) New Revision: 47235 Modified: trunk/efreet/src/lib/efreet_desktop.c Modified: trunk/efreet/src/lib/efreet_desktop.c =================================================================== --- trunk/efreet/src/lib/efreet_desktop.c 2010-03-15 13:10:43 UTC (rev 47234) +++ trunk/efreet/src/lib/efreet_desktop.c 2010-03-15 13:46:45 UTC (rev 47235) @@ -371,7 +371,7 @@ } } - if (efreet_desktop_cache) eina_hash_add(efreet_desktop_cache, file, desktop); + if (efreet_desktop_cache) eina_hash_add(efreet_desktop_cache, desktop->orig_path, desktop); desktop->cached = 1; /* TODO: Need file monitor on file and events to notify change */ return desktop; @@ -625,7 +625,7 @@ * latest version that we support! */ efreet_ini_string_set(ini, "Version", DESKTOP_VERSION); - if (!efreet_ini_save(ini, desktop->orig_path)) ok = 0; + if (!efreet_ini_save(ini, desktop->orig_path)) ok = 0; #if 0 else { |
From: Enlightenment S. <no-...@en...> - 2010-08-09 19:31:27
|
Log: * efreet: fix some potential source of segv. Author: cedric Date: 2010-08-09 12:31:18 -0700 (Mon, 09 Aug 2010) New Revision: 50942 Modified: trunk/efreet/src/lib/efreet_mime.c Modified: trunk/efreet/src/lib/efreet_mime.c =================================================================== --- trunk/efreet/src/lib/efreet_mime.c 2010-08-09 19:28:16 UTC (rev 50941) +++ trunk/efreet/src/lib/efreet_mime.c 2010-08-09 19:31:18 UTC (rev 50942) @@ -301,6 +301,9 @@ { const char *type = NULL; + if (!file) + return NULL; + if ((type = efreet_mime_special_check(file))) return type; @@ -449,6 +452,8 @@ char *ext, *mime; /* Check in the extension hash for the type */ + if (!file) return NULL; + ext = strchr(file, '.'); if (ext) { |
From: Enlightenment S. <no-...@en...> - 2010-08-17 12:03:21
|
Log: * efreet: less warning by Albin Tonnerre. Author: cedric Date: 2010-08-17 05:03:10 -0700 (Tue, 17 Aug 2010) New Revision: 51247 Modified: trunk/efreet/src/lib/efreet_icon.c trunk/efreet/src/lib/efreet_menu.c trunk/efreet/src/lib/efreet_mime.c Modified: trunk/efreet/src/lib/efreet_icon.c =================================================================== --- trunk/efreet/src/lib/efreet_icon.c 2010-08-17 11:48:50 UTC (rev 51246) +++ trunk/efreet/src/lib/efreet_icon.c 2010-08-17 12:03:10 UTC (rev 51247) @@ -143,7 +143,7 @@ * @return Returns the user icon directory * @brief Returns the user icon directory */ -const char * +static const char * efreet_icon_deprecated_user_dir_get(void) { const char *user; @@ -351,7 +351,7 @@ EAPI char * efreet_icon_path_find(const char *theme_name, const char *icon, unsigned int size) { - char *value; + char *value = NULL; Efreet_Icon_Theme *theme; theme = efreet_icon_find_theme_check(theme_name); Modified: trunk/efreet/src/lib/efreet_menu.c =================================================================== --- trunk/efreet/src/lib/efreet_menu.c 2010-08-17 11:48:50 UTC (rev 51246) +++ trunk/efreet/src/lib/efreet_menu.c 2010-08-17 12:03:10 UTC (rev 51247) @@ -398,7 +398,7 @@ struct { - char *key; + const char *key; int (*cb)(Efreet_Menu_Internal *parent, Efreet_Xml *xml); } menu_cbs[] = { {"Menu", efreet_menu_handle_sub_menu}, @@ -427,7 +427,7 @@ struct { - char *key; + const char *key; int (*cb)(Efreet_Menu_Filter_Op *op, Efreet_Xml *xml); } filter_cbs[] = { {"Filename", efreet_menu_handle_filename}, @@ -441,7 +441,7 @@ struct { - char *key; + const char *key; int (*cb)(Efreet_Menu_Internal *parent, Efreet_Xml *xml); } move_cbs[] = { {"Old", efreet_menu_handle_old}, @@ -451,7 +451,7 @@ struct { - char *key; + const char *key; int (*cb)(Efreet_Menu_Internal *parent, Efreet_Xml *xml, int def); } layout_cbs[] = { {"Menuname", efreet_menu_handle_layout_menuname}, Modified: trunk/efreet/src/lib/efreet_mime.c =================================================================== --- trunk/efreet/src/lib/efreet_mime.c 2010-08-17 11:48:50 UTC (rev 51246) +++ trunk/efreet/src/lib/efreet_mime.c 2010-08-17 12:03:10 UTC (rev 51247) @@ -1376,7 +1376,6 @@ efreet_mime_magic_free(void *data) { Efreet_Mime_Magic *m = data; - Efreet_Mime_Magic_Entry *entry = NULL; IF_RELEASE(m->mime); IF_FREE_LIST(m->entries, efreet_mime_magic_entry_free); |
From: Enlightenment S. <no-...@en...> - 2010-11-08 18:09:31
|
Log: * efreet: little speedup for icon lookup. But really you should not call it as it will call stat for every path it guess an icon could be in. For example, elementary_test Toolbar 5 trigger 41132 call to stat on random place on your harddrive. Author: cedric Date: 2010-11-08 10:09:25 -0800 (Mon, 08 Nov 2010) New Revision: 54339 Modified: trunk/efreet/src/lib/efreet_icon.c Modified: trunk/efreet/src/lib/efreet_icon.c =================================================================== --- trunk/efreet/src/lib/efreet_icon.c 2010-11-08 18:05:03 UTC (rev 54338) +++ trunk/efreet/src/lib/efreet_icon.c 2010-11-08 18:09:25 UTC (rev 54339) @@ -719,16 +719,20 @@ const char *icon_name) { Eina_List *l; - char *icon; + char *icon = NULL; const char *path; + const char *tmp; + tmp = eina_stringshare_add(icon_name); + EINA_LIST_FOREACH(theme->paths, l, path) { - icon = efreet_icon_lookup_directory_helper(dir, path, icon_name); - if (icon) return icon; + icon = efreet_icon_lookup_directory_helper(dir, path, tmp); + if (icon) break; } - return NULL; + eina_stringshare_del(tmp); + return icon; } /** @@ -928,14 +932,22 @@ Eina_List *l; char *icon = NULL; char file_path[PATH_MAX]; - const char *ext, *path_strs[] = { path, "/", dir->name, "/", icon_name, NULL }; + const char *ext; size_t len; - len = efreet_array_cat(file_path, sizeof(file_path), path_strs); + /* build "$(path)/$(dir->name)/$(icon_name) */ + len = eina_stringshare_strlen(path); + memcpy(file_path, path, len); + file_path[len++] = '/'; + memcpy(file_path + len, dir->name, eina_stringshare_strlen(dir->name)); + len += eina_stringshare_strlen(dir->name); + file_path[len++] = '/'; + memcpy(file_path + len, icon_name, eina_stringshare_strlen(icon_name)); + len += eina_stringshare_strlen(icon_name); EINA_LIST_FOREACH(efreet_icon_extensions, l, ext) { - eina_strlcpy(file_path + len, ext, sizeof(file_path) - len); + memcpy(file_path + len, ext, eina_stringshare_strlen(ext) + 1); if (ecore_file_exists(file_path)) { |
From: Enlightenment S. <no-...@en...> - 2010-11-27 17:02:28
|
Log: * efreet: Eet.h is needed by declaration in efreet_private.h. Author: cedric Date: 2010-11-27 09:02:18 -0800 (Sat, 27 Nov 2010) New Revision: 55034 Modified: trunk/efreet/src/lib/efreet_private.h Modified: trunk/efreet/src/lib/efreet_private.h =================================================================== --- trunk/efreet/src/lib/efreet_private.h 2010-11-27 14:28:34 UTC (rev 55033) +++ trunk/efreet/src/lib/efreet_private.h 2010-11-27 17:02:18 UTC (rev 55034) @@ -1,6 +1,9 @@ #ifndef EFREET_PRIVATE_H #define EFREET_PRIVATE_H +#ifdef ICON_CACHE +# include <Eet.h> +#endif /** * @file efreet_private.h |
From: Enlightenment S. <no-...@en...> - 2010-11-29 18:42:54
|
Log: * efreet: simplify code. Author: cedric Date: 2010-11-29 10:42:48 -0800 (Mon, 29 Nov 2010) New Revision: 55071 Modified: trunk/efreet/src/lib/efreet_icon.c Modified: trunk/efreet/src/lib/efreet_icon.c =================================================================== --- trunk/efreet/src/lib/efreet_icon.c 2010-11-29 18:40:26 UTC (rev 55070) +++ trunk/efreet/src/lib/efreet_icon.c 2010-11-29 18:42:48 UTC (rev 55071) @@ -1745,7 +1745,6 @@ if (elem->max < size) return (size / (double)elem->max); #endif - return 0; } return 0; |
From: Enlightenment S. <no-...@en...> - 2010-12-02 10:47:41
|
Log: * efreet: fix build. Author: cedric Date: 2010-12-02 02:47:34 -0800 (Thu, 02 Dec 2010) New Revision: 55157 Trac: http://trac.enlightenment.org/e/changeset/55157 Modified: trunk/efreet/src/lib/efreet_cache.c trunk/efreet/src/lib/efreet_private.h Modified: trunk/efreet/src/lib/efreet_cache.c =================================================================== --- trunk/efreet/src/lib/efreet_cache.c 2010-12-02 09:55:54 UTC (rev 55156) +++ trunk/efreet/src/lib/efreet_cache.c 2010-12-02 10:47:34 UTC (rev 55157) @@ -33,7 +33,6 @@ * Data for cache files */ #ifdef ICON_CACHE -static Eet_Data_Descriptor *cache_version_edd = NULL; static Eet_Data_Descriptor *directory_edd = NULL; static Eet_Data_Descriptor *cache_theme_edd = NULL; static Eet_Data_Descriptor *cache_fallback_edd = NULL; @@ -49,6 +48,7 @@ static Efreet_Cache_Theme *fallback_cache = NULL; #endif +static Eet_Data_Descriptor *cache_version_edd = NULL; static Eet_Data_Descriptor *desktop_edd = NULL; static Eet_File *desktop_cache = NULL; @@ -207,6 +207,28 @@ /* * Needs EAPI because of helper binaries */ +EAPI Eet_Data_Descriptor * +efreet_version_edd(void) +{ + Eet_Data_Descriptor_Class eddc; + + if (cache_version_edd) return cache_version_edd; + + EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Efreet_Cache_Version); + cache_version_edd = eet_data_descriptor_file_new(&eddc); + if (!cache_version_edd) return NULL; + + EET_DATA_DESCRIPTOR_ADD_BASIC(cache_version_edd, Efreet_Cache_Version, + "minor", minor, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(cache_version_edd, Efreet_Cache_Version, + "major", major, EET_T_UCHAR); + + return cache_version_edd; +} + +/* + * Needs EAPI because of helper binaries + */ EAPI const char * efreet_desktop_cache_file(void) { @@ -330,28 +352,6 @@ * Needs EAPI because of helper binaries */ EAPI Eet_Data_Descriptor * -efreet_version_edd(void) -{ - Eet_Data_Descriptor_Class eddc; - - if (cache_version_edd) return cache_version_edd; - - EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Efreet_Cache_Version); - cache_version_edd = eet_data_descriptor_file_new(&eddc); - if (!cache_version_edd) return NULL; - - EET_DATA_DESCRIPTOR_ADD_BASIC(cache_version_edd, Efreet_Cache_Version, - "minor", minor, EET_T_UCHAR); - EET_DATA_DESCRIPTOR_ADD_BASIC(cache_version_edd, Efreet_Cache_Version, - "major", major, EET_T_UCHAR); - - return cache_version_edd; -} - -/* - * Needs EAPI because of helper binaries - */ -EAPI Eet_Data_Descriptor * efreet_icon_theme_edd(Eina_Bool include_dirs) { Eet_Data_Descriptor_Class eddc; Modified: trunk/efreet/src/lib/efreet_private.h =================================================================== --- trunk/efreet/src/lib/efreet_private.h 2010-12-02 09:55:54 UTC (rev 55156) +++ trunk/efreet/src/lib/efreet_private.h 2010-12-02 10:47:34 UTC (rev 55157) @@ -115,27 +115,21 @@ extern Eina_Hash *efreet_desktop_cache; -#ifdef ICON_CACHE -#define EFREET_ICON_CACHE_MAJOR 0 -#define EFREET_ICON_CACHE_MINOR 4 #define EFREET_DESKTOP_CACHE_MAJOR 0 #define EFREET_DESKTOP_CACHE_MINOR 1 #define EFREET_DESKTOP_UTILS_CACHE_MAJOR 0 #define EFREET_DESKTOP_UTILS_CACHE_MINOR 1 -typedef struct _Efreet_Cache_Version Efreet_Cache_Version; +#ifdef ICON_CACHE +#define EFREET_ICON_CACHE_MAJOR 0 +#define EFREET_ICON_CACHE_MINOR 4 + typedef struct _Efreet_Cache_Theme Efreet_Cache_Theme; typedef struct _Efreet_Cache_Directory Efreet_Cache_Directory; typedef struct _Efreet_Cache_Icon Efreet_Cache_Icon; typedef struct _Efreet_Cache_Icon_Element Efreet_Cache_Icon_Element; typedef struct _Efreet_Cache_Fallback_Icon Efreet_Cache_Fallback_Icon; -struct _Efreet_Cache_Version -{ - unsigned char major; - unsigned char minor; -}; - struct _Efreet_Cache_Theme { Eina_Hash *icons; @@ -182,6 +176,13 @@ }; #endif +typedef struct _Efreet_Cache_Version Efreet_Cache_Version; +struct _Efreet_Cache_Version +{ + unsigned char major; + unsigned char minor; +}; + int efreet_base_init(void); void efreet_base_shutdown(void); |
From: Enlightenment S. <no-...@en...> - 2011-09-22 14:10:11
|
Log: efreet: add svg. Author: cedric Date: 2011-09-22 07:10:04 -0700 (Thu, 22 Sep 2011) New Revision: 63538 Trac: http://trac.enlightenment.org/e/changeset/63538 Modified: trunk/efreet/src/lib/efreet_icon.c Modified: trunk/efreet/src/lib/efreet_icon.c =================================================================== --- trunk/efreet/src/lib/efreet_icon.c 2011-09-22 13:51:22 UTC (rev 63537) +++ trunk/efreet/src/lib/efreet_icon.c 2011-09-22 14:10:04 UTC (rev 63538) @@ -74,7 +74,7 @@ int efreet_icon_init(void) { - const char *default_exts[] = {".png", ".xpm", NULL}; + const char *default_exts[] = {".png", ".xpm", ".svg", NULL}; int i; _efreet_icon_log_dom = eina_log_domain_register |
From: Enlightenment S. <no-...@en...> - 2012-02-21 18:49:11
|
Log: efreet: add errno.h as needed. Author: cedric Date: 2012-02-21 10:49:01 -0800 (Tue, 21 Feb 2012) New Revision: 68229 Trac: http://trac.enlightenment.org/e/changeset/68229 Modified: trunk/efreet/src/lib/efreet_trash.c Modified: trunk/efreet/src/lib/efreet_trash.c =================================================================== --- trunk/efreet/src/lib/efreet_trash.c 2012-02-21 17:32:20 UTC (rev 68228) +++ trunk/efreet/src/lib/efreet_trash.c 2012-02-21 18:49:01 UTC (rev 68229) @@ -5,6 +5,7 @@ #include <sys/stat.h> #include <unistd.h> #include <libgen.h> +#include <errno.h> #include <Ecore_File.h> |