diff --git a/ChangeLog b/ChangeLog index fa70ed2aa..e30cfe89b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,8 @@ * split out binding configs into separate config domain * added functions for freeing binding config structs * E_Config_DD structs are now tracked and retrievable through e_config_descriptor_find + * binding dialogs now reload the default config from file when reset defaults is clicked + * fixed leak in profile list dbus method 2013-01-31 Mike Blumenkrantz diff --git a/NEWS b/NEWS index 1908827cc..81968331c 100644 --- a/NEWS +++ b/NEWS @@ -79,6 +79,7 @@ Improvements: * No longer build illume edj files * add support for AltGr in illume2's E_Kbd_Buf_Key, fix related leak * split out binding configs into separate config domain + * binding dialogs now reload the default config from file when reset defaults is clicked Fixes: * IBar menu didn't allow to configure different icon sources, show contents menu even on empty IBar. @@ -133,3 +134,4 @@ Fixes: * fixed opening of links in filemanager in some cases * filemanager now ignores changes to .part files * fixed bugs where keyboard layouts could not be applied or selected + * fixed leak in profile list dbus method diff --git a/src/bin/e_msgbus.c b/src/bin/e_msgbus.c index f103e6b25..a747a15dd 100644 --- a/src/bin/e_msgbus.c +++ b/src/bin/e_msgbus.c @@ -351,8 +351,7 @@ static EDBus_Message * _e_msgbus_profile_list_cb(const EDBus_Service_Interface *iface __UNUSED__, const EDBus_Message *msg) { - Eina_List *l; - const char *name; + char *name; EDBus_Message *reply; EDBus_Message_Iter *array, *main_iter; @@ -365,8 +364,11 @@ _e_msgbus_profile_list_cb(const EDBus_Service_Interface *iface __UNUSED__, edbus_message_iter_arguments_append(main_iter, "as", &array); EINA_SAFETY_ON_FALSE_RETURN_VAL(array, reply); - EINA_LIST_FOREACH(e_config_profile_list(), l, name) - edbus_message_iter_basic_append(array, 's', name); + EINA_LIST_FREE(e_config_profile_list(), name) + { + edbus_message_iter_basic_append(array, 's', name); + free(name); + } edbus_message_iter_container_close(main_iter, array); return reply;