Fix N_SE-12125,N_SE-10514 and N_SE-9938
authorKairong Yin <kairong78.yin@samsung.com>
Wed, 31 Oct 2012 13:24:30 +0000 (21:24 +0800)
committerKairong Yin <kairong78.yin@samsung.com>
Wed, 31 Oct 2012 13:24:30 +0000 (21:24 +0800)
Change-Id: I9e632686326b018933b05e5d4f17c91159926be4

src/setting-plugin.c

index 026e00f..5af68ad 100755 (executable)
@@ -122,12 +122,11 @@ static void __drawer_add(const char *type, drawer_fp draw)
 static drawer_fp __drawer_find(char* type)
 {
        SETTING_TRACE_BEGIN;
+       SETTING_TRACE("node type:%s", type);
        Eina_List *check_list = _g_drawer_list;
        Object_Drawer *list_item = NULL;
 
        while (check_list) {
-
-               list_item = NULL;
                list_item = (Object_Drawer *) eina_list_data_get(check_list);
                if (NULL == list_item)
                        continue;
@@ -137,8 +136,9 @@ static drawer_fp __drawer_find(char* type)
                        //SETTING_TRACE("list_item->type:%s", list_item->type);
                        break;
                }
-
+               //if not matched,to check next node.
                check_list = eina_list_next(check_list);
+               list_item = NULL;
        }
        //SETTING_TRACE("list_item:%p", list_item);
        return list_item ? list_item->draw : NULL;
@@ -394,7 +394,7 @@ int setting_dbus_handler_fini(void)
        char rule[MAX_LOCAL_BUFSIZE + 1] = {0, };
 
        dbus_error_init(&error);
-       dbus_connection_remove_filter(bus, __signal_filter, NULL);
+       //dbus_connection_remove_filter(bus, __signal_filter, NULL);
        snprintf(rule, MAX_LOCAL_BUFSIZE, "path='%s',type='signal',interface='%s'", DBUS_PATH, DBUS_SIGNAL_INTERFACE);
        dbus_bus_remove_match(bus, rule, &error);
 
@@ -1087,13 +1087,28 @@ static void* setting_func(void *data, xmlNode *xmlObj)
        //----------------------------------------------------------------
        SETTING_TRACE("before setting_create_layout_navi_bar_genlist");
        // [UI] with DATA
-       pd->ly_main = setting_create_layout_navi_bar_genlist(pd->win_get,
-                                                  pd->win_get,
-                                                  _(title),
-                                                  _(btn[1]), _(btn[0]),
-                                                  ___click_softkey_back_cb,
-                                                  ___click_softkey_back_cb, data, &pd->scroller,
-                                                  &(pd->navi_bar));
+       pd->scroller = elm_genlist_add(pd->win_get);
+       retvm_if(pd->scroller == NULL, NULL,
+                "Cannot set scroller object  as contento of layout");
+       elm_object_style_set(pd->scroller, "dialogue");
+       elm_genlist_clear(pd->scroller);        /* first to clear list */
+
+       /*  Enabling illume notification property for window */
+       elm_win_conformant_set(pd->win_get, 1);
+       Evas_Object *conformant = elm_conformant_add(pd->win_get);
+       elm_object_style_set(conformant, "internal_layout");    /*  By Kollus. 2011-01-04 */
+       evas_object_show(conformant);
+       elm_object_content_set(conformant, pd->scroller);
+
+       SETTING_TRACE("_(title):%s", _(title));
+       pd->ly_main =
+           setting_create_layout_navi_bar(pd->win_get, pd->win_get,
+                                          _(title),
+                                          _("IDS_COM_BODY_BACK"), NULL, NULL,
+                                          ___click_softkey_back_cb,
+                                          NULL, NULL,
+                                          data, conformant,
+                                          &(pd->navi_bar), NULL);
        SETTING_TRACE("after setting_create_layout_navi_bar_genlist");
 
 #endif/*}}}*/
@@ -1145,7 +1160,7 @@ static int __node_walker(PluginNode* context, xmlNode* cur)
        xmlNode *cur_node = NULL;
        for (cur_node = cur; cur_node;cur_node = cur_node->next) {
                if (cur_node->type == XML_ELEMENT_NODE) {
-                       SETTING_TRACE("node type : Element, name=%s id=%s", cur_node->name,xmlGetProp(cur_node, "id"));
+                       SETTING_TRACE("node type : %s id= %s", cur_node->name,xmlGetProp(cur_node, "id"));
 
                        drawer_fp  fp = __drawer_find(cur_node->name);
                        if (fp)