Enlightenment CVS committal
Author : devilhorns
Project : e17
Module : apps/e
Dir : e17/apps/e/src/modules/conf_applications
Modified Files:
e_int_config_apps.c
Log Message:
Check that the ecore_lists are valid before traversing. This eliminates a
warning when opening "Favorite Apps" about ecore_list_next w/ list == NULL.
===================================================================
RCS file: /cvs/e/e17/apps/e/src/modules/conf_applications/e_int_config_apps.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- e_int_config_apps.c 4 Dec 2007 16:58:04 -0000 1.9
+++ e_int_config_apps.c 18 Dec 2007 01:27:44 -0000 1.10
@@ -304,7 +304,7 @@
apps = ecore_list_new();
ecore_list_free_cb_set(apps, ECORE_FREE_CB(efreet_desktop_free));
menu = efreet_menu_parse(path);
- if (!menu) return apps;
+ if ((!menu) || (!menu->entries)) return apps;
ecore_list_first_goto(menu->entries);
while ((entry = ecore_list_next(menu->entries)))
{
@@ -351,34 +351,39 @@
evas = evas_object_evas_get(cfdata->o_all);
desks = efreet_util_desktop_name_glob_list("*");
- ecore_list_sort(desks, ECORE_COMPARE_CB(_cb_sort_desks), ECORE_SORT_MIN);
- ecore_list_first_goto(desks);
- while ((desk = ecore_list_next(desks)))
+ if (desks)
{
- if (!ecore_list_find(l, ECORE_COMPARE_CB(_cb_sort_desks), desk))
+ ecore_list_sort(desks, ECORE_COMPARE_CB(_cb_sort_desks),
ECORE_SORT_MIN);
+ ecore_list_first_goto(desks);
+ while ((desk = ecore_list_next(desks)))
{
- efreet_desktop_ref(desk);
- ecore_list_append(l, desk);
+ if (!ecore_list_find(l, ECORE_COMPARE_CB(_cb_sort_desks), desk))
+ {
+ efreet_desktop_ref(desk);
+ ecore_list_append(l, desk);
+ }
}
+ ecore_list_destroy(desks);
}
-
- if (desks) ecore_list_destroy(desks);
if (l) ecore_list_sort(l, ECORE_COMPARE_CB(_cb_sort_desks), ECORE_SORT_MIN);
evas_event_freeze(evas);
edje_freeze();
e_widget_ilist_freeze(cfdata->o_all);
e_widget_ilist_clear(cfdata->o_all);
- ecore_list_first_goto(l);
- while ((desk = ecore_list_next(l)))
+ if (l)
{
- Evas_Object *icon = NULL;
+ ecore_list_first_goto(l);
+ while ((desk = ecore_list_next(l)))
+ {
+ Evas_Object *icon = NULL;
- icon = e_util_desktop_icon_add(desk, "24x24", evas);
- e_widget_ilist_append(cfdata->o_all, icon, desk->name,
- _all_list_cb_selected, cfdata, desk->orig_path);
+ icon = e_util_desktop_icon_add(desk, "24x24", evas);
+ e_widget_ilist_append(cfdata->o_all, icon, desk->name,
+ _all_list_cb_selected, cfdata,
desk->orig_path);
+ }
+ ecore_list_destroy(l);
}
- if (l) ecore_list_destroy(l);
e_widget_ilist_go(cfdata->o_all);
e_widget_ilist_thaw(cfdata->o_all);
@@ -401,16 +406,20 @@
edje_freeze();
e_widget_ilist_freeze(cfdata->o_sel);
e_widget_ilist_clear(cfdata->o_sel);
- ecore_list_first_goto(cfdata->apps);
- while ((desk = ecore_list_next(cfdata->apps)))
+ if (cfdata->apps)
{
- Evas_Object *icon = NULL;
+ ecore_list_first_goto(cfdata->apps);
+ while ((desk = ecore_list_next(cfdata->apps)))
+ {
+ Evas_Object *icon = NULL;
- icon = e_util_desktop_icon_add(desk, "24x24", evas);
- e_widget_ilist_append(cfdata->o_sel, icon, desk->name,
- _sel_list_cb_selected, cfdata, desk->orig_path);
+ icon = e_util_desktop_icon_add(desk, "24x24", evas);
+ e_widget_ilist_append(cfdata->o_sel, icon, desk->name,
+ _sel_list_cb_selected, cfdata,
desk->orig_path);
+ }
+ ecore_list_destroy(cfdata->apps);
}
- if (cfdata->apps) ecore_list_destroy(cfdata->apps);
+
cfdata->apps = NULL;
e_widget_ilist_go(cfdata->o_sel);
e_widget_min_size_get(cfdata->o_sel, &w, NULL);
-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs