X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fsetting-main.c;h=eaa7d1af211caa1ff50c1330c003a33a6ad08787;hb=268aec33bd706d3a1825b904a48ee46ab4d792ab;hp=aec632f63f6922d8b47557f6a91c5271dc5483e8;hpb=997c9aaf34ff15dfea59538083a5e96efa0e8bd5;p=apps%2Fcore%2Fpreloaded%2Fsettings.git diff --git a/src/setting-main.c b/src/setting-main.c index aec632f..eaa7d1a 100755 --- a/src/setting-main.c +++ b/src/setting-main.c @@ -1105,6 +1105,8 @@ bool is_3rdapp_installed_setting_cfg(char* pkgname) /** * @param data + * ex) name : AppSetting4 + * ex) pkgname : UBKFwQidax.AppSetting4 */ static void draw_3rdapp(void* data, char* name, char* pkgname) { @@ -1123,21 +1125,15 @@ static void draw_3rdapp(void* data, char* name, char* pkgname) if (ad) { - if (ad->plugin_path) - { - free(ad->plugin_path); - ad->plugin_path = NULL; - } - ad->plugin_path = strdup(fullpath); - - setting_create_Gendial_field_groupitem(ad->main_genlist, + char* plugin_path = strdup(fullpath); + Setting_GenGroupItem_Data * plugin_node = setting_create_Gendial_field_groupitem(ad->main_genlist, &(ad->itc[GENDIAL_Type_1text_1icon_2]), NULL, setting_main_click_list_plugin_cb, ad, SWALLOW_Type_INVALID, IMG_DefaultIcon, NULL, - 0, name, NULL, + 0, name, plugin_path, // <<-- refactoring NULL); } SETTING_TRACE_END; @@ -1778,6 +1774,7 @@ static int setting_main_create(void *cb) setting_view_main.is_create = 1; + setting_drawer_list_init(); return SETTING_RETURN_SUCCESS; } @@ -1839,6 +1836,9 @@ static int setting_main_destroy(void *cb) evas_object_smart_callback_del(ad->main_genlist, "realized", __gl_realized); + setting_dbus_handler_fini(); + setting_drawer_list_fini(); + setting_view_main.is_create = 0; SETTING_TRACE_END; return SETTING_RETURN_SUCCESS; @@ -2193,25 +2193,23 @@ setting_main_click_list_plugin_cb(void *data, Evas_Object *obj, retm_if(event_info == NULL, "Invalid argument: event info is NULL"); Elm_Object_Item *item = (Elm_Object_Item *) event_info; elm_genlist_item_selected_set(item, EINA_FALSE); + Setting_GenGroupItem_Data *selected_item = (Setting_GenGroupItem_Data *) elm_object_item_data_get(item); setting_main_appdata *ad = data; - if (ad->plugin_path) - { - PluginNode* plugin_node = setting_plugin_create(); - plugin_node->plugin_path = strdup(ad->plugin_path); - setting_plugin_load(plugin_node, (const char *)ad->plugin_path); - ad->plugin_node = (void*)plugin_node; + ad->plugin_path = strdup(selected_item->sub_desc); + SETTING_TRACE(" >> SELECTED plugin name : %s \n", ad->plugin_path); - #if 0 - if(ad->plugin_path) - { - free(ad->plugin_path); - ad->plugin_path = NULL; - } - #endif - } + setting_dbus_handler_init( ad ); + + #if 1 + PluginNode* plugin_node = setting_plugin_create(ad); + plugin_node->plugin_path = strdup(ad->plugin_path); + setting_plugin_load(plugin_node, (const char *)plugin_node->plugin_path); + + ad->plugin_node = plugin_node; // the selected plugin name + #endif } /**