fixed BS when getting back from plugin-ug
[apps/home/settings.git] / setting-common / src / setting-common-plugin.c
index 7f82fc4..34e00d8 100755 (executable)
@@ -222,6 +222,9 @@ static DBusHandlerResult __signal_filter(DBusConnection* conn, DBusMessage* mess
     char* key = NULL;
     char* value = NULL;
 
+       if (message == NULL)
+               return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+
     DBusError error;
     dbus_error_init(&error);
 
@@ -288,6 +291,9 @@ static DBusHandlerResult __signal_filter(DBusConnection* conn, DBusMessage* mess
                        char* val_name = strchr(value, '|');
                        val_name++;
 
+                       if (key_name == NULL)
+                               goto final;
+
                        // access xml file
                        doc = xmlParseFile(plugin_path);
                        if (doc == NULL)
@@ -324,6 +330,7 @@ static DBusHandlerResult __signal_filter(DBusConnection* conn, DBusMessage* mess
                // update UI
     }
 
+final:
     return DBUS_HANDLER_RESULT_HANDLED;
 }
 
@@ -511,8 +518,6 @@ static void ___click_softkey_back_cb(void *data, Evas_Object *obj, void *event_i
 {
        SETTING_TRACE_BEGIN;
        ret_if(!data);
-       static int work = 0;
-
        PluginNode* node = (PluginNode*)data;
        Draw_Data *pd = node->pd;
 
@@ -1500,12 +1505,15 @@ static int _plugin_string_key_cmp(const char* key1, int key1_length,
 
 static void _plugin_entry_free_cb(void* data)
 {
+#if 0
+       // this code already have done in genlist_unrealized
     Setting_GenGroupItem_Data* node = (Setting_GenGroupItem_Data*) data;
        if (node->childs)
        {
                eina_list_free(node->childs);
                node->childs = NULL;
        }
+#endif
 }
 
 PluginNode* setting_plugin_create(Evas_Object* navi, Evas_Object* win)