Fix bug on listing pkg, app 67/45867/1 accepted/tizen/mobile/20150813.012024 accepted/tizen/tv/20150813.012035 accepted/tizen/wearable/20150813.012047 submit/tizen/20150812.102005
authorSangyoon Jang <s89.jang@samsung.com>
Wed, 12 Aug 2015 05:52:29 +0000 (14:52 +0900)
committerSangyoon Jang <s89.jang@samsung.com>
Wed, 12 Aug 2015 05:53:12 +0000 (14:53 +0900)
Change-Id: I16f947be90802bff53095381d96755d30be96207
Signed-off-by: Sangyoon Jang <s89.jang@samsung.com>
src/pkgmgrinfo_appinfo.c
src/pkgmgrinfo_pkginfo.c

index 55d9a91..322162a 100644 (file)
@@ -91,7 +91,7 @@ static GSList *_appinfo_get_filtered_list(const char *locale,
                pkgmgrinfo_filter_x *filter)
 {
        static const char query_raw[] =
-               "SELECT package_app_info.app_id FROM package_app_info"
+               "SELECT DISTINCT package_app_info.app_id FROM package_app_info"
                " LEFT OUTER JOIN package_app_localized_info"
                "  ON package_app_info.app_id=package_app_localized_info.app_id"
                "  AND package_app_localized_info.app_locale=%Q"
index 9e518e2..3a970e1 100644 (file)
@@ -196,7 +196,7 @@ static GSList *_pkginfo_get_filtered_list(const char *locale,
                pkgmgrinfo_filter_x *filter)
 {
        static const char query_raw[] =
-               "SELECT package_info.package FROM package_info"
+               "SELECT DISTINCT package_info.package FROM package_info"
                " LEFT OUTER JOIN package_localized_info"
                "  ON package_info.package=package_localized_info.package"
                "  AND package_localized_info.package_locale=%Q ";
@@ -266,6 +266,7 @@ static int _pkginfo_get_filtered_foreach_pkginfo(pkgmgrinfo_filter_x *filter,
                                free(pkgid);
                                continue;
                        }
+                       info->uid = uid;
                        if (pkg_list_cb(info, user_data) < 0)
                                stop = 1;
                        pkgmgrinfo_pkginfo_destroy_pkginfo(info);
@@ -715,6 +716,7 @@ static int _pkginfo_get_pkg(const char *pkgid, const char *locale,
        }
 
        info->pkg_info = pkg;
+       info->locale = strdup(locale);
        *pkginfo = info;
 
        sqlite3_finalize(stmt);
@@ -750,8 +752,8 @@ API int pkgmgrinfo_pkginfo_get_usr_pkginfo(const char *pkgid, uid_t uid,
                return PMINFO_R_ERROR;
        }
 
+       free(locale);
        pkginfo->uid = uid;
-       pkginfo->locale = locale;
        *handle = pkginfo;
 
        __close_manifest_db();