Fix package_manager_set_event_cb 23/250623/1
authorSangyoon Jang <jeremy.jang@samsung.com>
Wed, 30 Dec 2020 08:24:46 +0000 (17:24 +0900)
committerSangyoon Jang <jeremy.jang@samsung.com>
Wed, 30 Dec 2020 08:26:42 +0000 (17:26 +0900)
Invoke pkgmgr_client_remove_listen_ststus() before
pkgmgr_client_listen_status(), because pkgmgr_client_listen_status()
works as adding callback, not setting.

Change-Id: I65e8d8be958644370357bc776dbecf320c8afa4d
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
src/package_manager.c

index c84cf5a..d9611a6 100644 (file)
@@ -1423,6 +1423,12 @@ API int package_manager_set_event_cb(package_manager_h manager,
        manager->event_cb = callback;
        manager->user_data = user_data;
 
+       retval = pkgmgr_client_remove_listen_status(manager->pc);
+       if (retval < 0) {
+               return package_manager_error(PACKAGE_MANAGER_ERROR_IO_ERROR,
+                       __FUNCTION__, NULL);
+       }
+
        retval = pkgmgr_client_listen_status(manager->pc,
                        internal_callback, manager);
        if (retval < 0) {