diff options
author | Cosimo Alfarano <cosimo.alfarano@collabora.co.uk> | 2010-02-11 16:20:06 +0000 |
---|---|---|
committer | Danielle Madeley <danielle.madeley@collabora.co.uk> | 2010-02-12 21:45:32 +1100 |
commit | 48f17f5d3950f130434eea9ade014a0fe396cdae (patch) | |
tree | 743a45d22f1937396e60d8d838f7f89bf6ba8f6d /telepathy-logger/dbus-service.c | |
parent | f4d15807d8479b84032d0cf6046ae7d4c7b2317b (diff) | |
download | telepathy-logger-48f17f5d3950f130434eea9ade014a0fe396cdae.tar.gz |
dbus-service: more fixes
Diffstat (limited to 'telepathy-logger/dbus-service.c')
-rw-r--r-- | telepathy-logger/dbus-service.c | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/telepathy-logger/dbus-service.c b/telepathy-logger/dbus-service.c index e7db021..8cacec0 100644 --- a/telepathy-logger/dbus-service.c +++ b/telepathy-logger/dbus-service.c @@ -128,11 +128,11 @@ tpl_dbus_service_get_recent_messages (TplSvcLogger *self, DBusGConnection *dbus; TpDBusDaemon *tp_dbus; GList *ret = NULL; - GPtrArray *answer; + GPtrArray *answer = NULL; + GList *dates = NULL; guint left_lines = lines; TplDBusServicePriv *priv = GET_PRIV (self); - /* FIXME: return an invalid parameters error */ g_return_if_fail (TPL_IS_DBUS_SERVICE (self)); g_return_if_fail (context != NULL); @@ -142,28 +142,31 @@ tpl_dbus_service_get_recent_messages (TplSvcLogger *self, account = tp_account_new (tp_dbus, account_path, &error); if (error != NULL) { - g_critical ("TpAccount creation: %s", error->message); + GError *loc_error = NULL; - dbus_g_method_return_error (context, error); + DEBUG ("TpAccount creation: %s", error->message); + g_propagate_error (&loc_error, error); + dbus_g_method_return_error (context, loc_error); g_error_free (error); + g_error_free (loc_error); g_object_unref (tp_dbus); g_object_unref (dbus); - return; } - GList *dates = tpl_log_manager_get_dates (priv->manager, account, identifier, + dates = tpl_log_manager_get_dates (priv->manager, account, identifier, is_chatroom); - if (dates != NULL) + if (dates == NULL) { - g_set_error_literal (&error, TPL_DBUS_SERVICE_ERROR, - TPL_DBUS_SERVICE_ERROR_FAILED, "Error during date list retrieving"); - + error = g_error_new_literal (TPL_DBUS_SERVICE_ERROR, + TPL_DBUS_SERVICE_ERROR_FAILED, "Error during date list retrieving, " + "probably the account path or the identifier are does not exist"); dbus_g_method_return_error (context, error); + + g_object_unref (account); g_object_unref (tp_dbus); g_object_unref (dbus); - return; } dates = g_list_reverse (dates); @@ -193,7 +196,9 @@ tpl_dbus_service_get_recent_messages (TplSvcLogger *self, tpl_svc_logger_return_from_get_recent_messages (context, answer); + g_object_unref (account); g_object_unref (tp_dbus); + g_object_unref (dbus); } |