[tracker/tracker-0.6] Fixes NB#118212, glib warnings when running trackerd



commit b55139afe372cd6a764d8464ff6ccbdf6fd9bb5f
Author: Ivan Frade <ivan frade nokia com>
Date:   Fri May 22 22:22:29 2009 +0300

    Fixes NB#118212, glib warnings when running trackerd
    
    Handling correctly the error in tracker_metadata_get/_get_multiple.
    The internal common function (_get_internal) set the GError, and the
    public functions handle correctly the error (and log it).
---
 src/trackerd/tracker-metadata.c |   51 ++++++++++++++++++++++++--------------
 1 files changed, 32 insertions(+), 19 deletions(-)

diff --git a/src/trackerd/tracker-metadata.c b/src/trackerd/tracker-metadata.c
index 06872f4..c501ec7 100644
--- a/src/trackerd/tracker-metadata.c
+++ b/src/trackerd/tracker-metadata.c
@@ -82,30 +82,33 @@ tracker_metadata_get_internal (TrackerMetadata  *object,
 	gchar		   **values;
 
 	if (!tracker_ontology_service_is_valid (service_type)) {
-		tracker_dbus_request_failed (request_id,
-					     error,
-					     "Service '%s' is invalid or has not been implemented yet",
-					     service_type);
+		g_set_error (error,
+			     TRACKER_DBUS_ERROR,
+			     0,
+			     "Service '%s' is invalid or has not been implemented yet",
+			     service_type);
 		return NULL;
 	}
 
 	service_id = tracker_data_query_file_id (service_type, uri);
 
 	if (service_id <= 0) {
-		tracker_dbus_request_failed (request_id,
-					     error,
-					     "Service URI '%s' not found",
-					     uri);
+		g_set_error (error,
+			     TRACKER_DBUS_ERROR,
+			     0,
+			     "Service URI '%s' not found",
+			     uri);
 		return NULL;
 	}
 
 	/* Checking keys */
 	for (i = 0; i < g_strv_length (keys); i++) {
 		if (tracker_ontology_get_field_by_name (keys[i]) == NULL) {
-			tracker_dbus_request_failed (request_id,
-						     error,
-						     "Metadata field '%s' not registered in the system",
-						     keys[i]);
+			g_set_error (error,
+				     TRACKER_DBUS_ERROR,
+				     0,
+				     "Metadata field '%s' not registered in the system",
+				     keys[i]);
 			return NULL;
 		}
 	}
@@ -116,10 +119,11 @@ tracker_metadata_get_internal (TrackerMetadata  *object,
 	/* Check we have a file in the database before looking up the metadata. */
 	service_result = tracker_data_query_service_type_by_id (iface, service_id);
 	if (!service_result) {
-	       tracker_dbus_request_failed (request_id,
-					    error,
-					    "Service type can not be found for entity '%s'",
-					    uri);
+		g_set_error (error,
+			     TRACKER_DBUS_ERROR,
+			     0,
+			     "Service type can not be found for entity '%s'",
+			     uri);
 	       return NULL;
 	}
 
@@ -135,9 +139,10 @@ tracker_metadata_get_internal (TrackerMetadata  *object,
 	}
 
 	if (!values) {
-		tracker_dbus_request_failed (request_id,
-					     error,
-					     "No metadata information was available");
+		g_set_error (error,
+			     TRACKER_DBUS_ERROR,
+			     0,
+			     "No metadata information was available");
 		return NULL;
 	}
 
@@ -176,6 +181,9 @@ tracker_metadata_get (TrackerMetadata	     *object,
 						&actual_error);
 
 	if (!values) {
+		tracker_dbus_request_failed (request_id,
+					     &actual_error,
+					     NULL);
 		dbus_g_method_return_error (context, actual_error);
 		g_error_free (actual_error);
 		return;
@@ -229,6 +237,11 @@ tracker_metadata_get_multiple (TrackerMetadata	      *object,
 						      uris[i], 
 						      keys,
 						      &actual_error);
+		if (!strv) {
+			g_debug ("%s", actual_error->message);
+			g_error_free (actual_error);
+			actual_error = NULL;
+		}
 
 		/* Don't allow errors, but allow NULLs */
 		g_ptr_array_add (values, strv);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]