Add changed callback call logic when register service 38/66238/1 accepted/tizen/common/20160418.141909 accepted/tizen/ivi/20160418.235520 accepted/tizen/mobile/20160418.235457 accepted/tizen/tv/20160418.235504 accepted/tizen/wearable/20160418.235452 submit/tizen/20160418.082708
authorHyunho Kang <hhstark.kang@samsung.com>
Mon, 18 Apr 2016 04:45:51 +0000 (13:45 +0900)
committerHyunho Kang <hhstark.kang@samsung.com>
Mon, 18 Apr 2016 04:47:13 +0000 (13:47 +0900)
Change-Id: I79732437ba62d5d3e096afe937899c1a7b969335
Signed-off-by: Hyunho Kang <hhstark.kang@samsung.com>
src/badge_internal.c
src/badge_ipc.c

index 28725bb..a013847 100755 (executable)
@@ -922,12 +922,6 @@ int _badge_register_changed_cb(badge_change_cb callback, void *data)
        if (!callback)
                return BADGE_ERROR_INVALID_PARAMETER;
 
-       ret = _badge_changed_monitor_init();
-       if (ret != BADGE_ERROR_NONE) {
-               ERR("badge_ipc_monitor_init err : %d", ret);
-               return ret;
-       }
-
        found = g_list_find_custom(g_badge_cb_list, (gconstpointer)callback,
                        _badge_data_compare);
 
@@ -946,6 +940,13 @@ int _badge_register_changed_cb(badge_change_cb callback, void *data)
 
                g_badge_cb_list = g_list_append(g_badge_cb_list, bd);
        }
+
+       ret = _badge_changed_monitor_init();
+       if (ret != BADGE_ERROR_NONE) {
+               ERR("badge_ipc_monitor_init err : %d", ret);
+               _badge_unregister_changed_cb(callback);
+               return ret;
+       }
        return BADGE_ERROR_NONE;
 }
 
index 6b6d279..7b16c5c 100755 (executable)
@@ -377,6 +377,7 @@ static int _send_service_register()
        if (reply)
                g_object_unref(reply);
 
+       badge_changed_cb_call(BADGE_ACTION_SERVICE_READY, NULL, 0);
        DBG("_send_service_register dones");
        return result;
 }