Fixed issue which view uri table is deleted 65/124965/1 accepted/tizen/unified/20170413.170853 submit/tizen/20170413.075628
authorJongkyu Koo <jk.koo@samsung.com>
Thu, 13 Apr 2017 07:19:57 +0000 (16:19 +0900)
committerJongkyu Koo <jk.koo@samsung.com>
Thu, 13 Apr 2017 07:19:57 +0000 (16:19 +0900)
Change-Id: I458b3bc020c123533c0b85a0d7d4fdf8a32a9459
Signed-off-by: Jongkyu Koo <jk.koo@samsung.com>
common/ctsvc_filter.c
common/ctsvc_query.c
common/ctsvc_record.c

index d7dac1a..66cea29 100644 (file)
@@ -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,
index b550457..103bfaf 100644 (file)
@@ -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;
index 615ffd5..8c26a84 100644 (file)
@@ -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();
 }