From ef3399657c5164994a1ee602feb2742f9b68e428 Mon Sep 17 00:00:00 2001 From: Jongkyu Koo Date: Thu, 13 Apr 2017 16:19:57 +0900 Subject: [PATCH] Fixed issue which view uri table is deleted Change-Id: I458b3bc020c123533c0b85a0d7d4fdf8a32a9459 Signed-off-by: Jongkyu Koo --- common/ctsvc_filter.c | 6 +++--- common/ctsvc_query.c | 6 +++--- common/ctsvc_record.c | 18 ++++++++++++------ 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/common/ctsvc_filter.c b/common/ctsvc_filter.c index d7dac1a..66cea29 100644 --- a/common/ctsvc_filter.c +++ b/common/ctsvc_filter.c @@ -50,13 +50,13 @@ EXPORT_API int contacts_filter_create(const char *view_uri, contacts_filter_h *o RETV_IF(NULL == view_uri, CONTACTS_ERROR_INVALID_PARAMETER); + com_filter = calloc(1, sizeof(ctsvc_composite_filter_s)); + RETV_IF(NULL == com_filter, CONTACTS_ERROR_OUT_OF_MEMORY); + #ifdef _CONTACTS_IPC_CLIENT ctsvc_view_uri_init(); #endif - com_filter = calloc(1, sizeof(ctsvc_composite_filter_s)); - RETV_IF(NULL == com_filter, CONTACTS_ERROR_OUT_OF_MEMORY); - com_filter->filter_type = CTSVC_FILTER_COMPOSITE; com_filter->view_uri = strdup(view_uri); com_filter->properties = (property_info_s*)ctsvc_view_get_all_property_infos(view_uri, diff --git a/common/ctsvc_query.c b/common/ctsvc_query.c index b550457..103bfaf 100644 --- a/common/ctsvc_query.c +++ b/common/ctsvc_query.c @@ -57,13 +57,13 @@ EXPORT_API int contacts_query_create(const char *view_uri, contacts_query_h *out RETV_IF(NULL == view_uri || NULL == out_query, CONTACTS_ERROR_INVALID_PARAMETER); + query = calloc(1, sizeof(ctsvc_query_s)); + RETV_IF(NULL == query, CONTACTS_ERROR_OUT_OF_MEMORY); + #ifdef _CONTACTS_IPC_CLIENT ctsvc_view_uri_init(); #endif - query = calloc(1, sizeof(ctsvc_query_s)); - RETV_IF(NULL == query, CONTACTS_ERROR_OUT_OF_MEMORY); - query->view_uri = strdup(view_uri); query->properties = (property_info_s*)ctsvc_view_get_all_property_infos(view_uri, &query->property_count); *out_query = (contacts_query_h)query; diff --git a/common/ctsvc_record.c b/common/ctsvc_record.c index 615ffd5..8c26a84 100644 --- a/common/ctsvc_record.c +++ b/common/ctsvc_record.c @@ -225,7 +225,9 @@ EXPORT_API int contacts_record_create(const char *view_uri, contacts_record_h *o return ret; } - +#ifdef _CONTACTS_IPC_CLIENT + ctsvc_view_uri_deinit(); +#endif __INVALID_PARAMETER_ERROR_HANDLING(); } @@ -235,12 +237,13 @@ EXPORT_API int contacts_record_destroy(contacts_record_h record, bool delete_chi RETV_IF(NULL == record, CONTACTS_ERROR_INVALID_PARAMETER); s_record = (ctsvc_record_s*)record; + + if (s_record && s_record->plugin_cbs && s_record->plugin_cbs->destroy) { #ifdef _CONTACTS_IPC_CLIENT - ctsvc_view_uri_deinit(); + ctsvc_view_uri_deinit(); #endif - - if (s_record && s_record->plugin_cbs && s_record->plugin_cbs->destroy) return s_record->plugin_cbs->destroy(record, delete_child); + } __INVALID_PARAMETER_ERROR_HANDLING(); } @@ -255,9 +258,12 @@ EXPORT_API int contacts_record_clone(contacts_record_h record, contacts_record_h RETV_IF(NULL == record, CONTACTS_ERROR_INVALID_PARAMETER); s_record = (ctsvc_record_s*)record; - if (s_record->plugin_cbs && s_record->plugin_cbs->clone) + if (s_record->plugin_cbs && s_record->plugin_cbs->clone) { +#ifdef _CONTACTS_IPC_CLIENT + ctsvc_view_uri_init(); +#endif return s_record->plugin_cbs->clone(record, out_record); - + } __INVALID_PARAMETER_ERROR_HANDLING(); } -- 2.7.4