discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=76235cd0cac7b8fd153ca75868bb846d04a68cd5
commit 76235cd0cac7b8fd153ca75868bb846d04a68cd5 Author: zmike <michael.blumenkra...@gmail.com> Date: Mon Jan 20 13:25:59 2014 -0500 prefs init should probably clean up after itself when it fucks up --- src/lib/elm_prefs.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/lib/elm_prefs.c b/src/lib/elm_prefs.c index 7203f8d..443b49e 100644 --- a/src/lib/elm_prefs.c +++ b/src/lib/elm_prefs.c @@ -2136,17 +2136,21 @@ _elm_prefs_init(void) _elm_prefs_descriptors_init(); _elm_prefs_data_init(); - _elm_prefs_page_widgets_map = eina_hash_string_superfast_new(NULL); - _elm_prefs_item_widgets_map = eina_hash_string_superfast_new(NULL); - _elm_prefs_item_type_widgets_map = eina_hash_int32_new(NULL); - if (!(m = _elm_module_find_as("prefs_iface"))) { - DBG("prefs iface module could not be loaded," + WRN("prefs iface module could not be loaded," " the prefs widget won't function"); + --_elm_prefs_init_count; + _elm_prefs_descriptors_shutdown(); + _elm_prefs_data_shutdown(); return; } + + _elm_prefs_page_widgets_map = eina_hash_string_superfast_new(NULL); + _elm_prefs_item_widgets_map = eina_hash_string_superfast_new(NULL); + _elm_prefs_item_type_widgets_map = eina_hash_int32_new(NULL); + m->init_func(m); } --