summaryrefslogtreecommitdiff
path: root/telepathy-logger/dbus-service.c
diff options
context:
space:
mode:
authorCosimo Alfarano <cosimo.alfarano@collabora.co.uk>2010-02-11 16:20:06 +0000
committerDanielle Madeley <danielle.madeley@collabora.co.uk>2010-02-12 21:45:32 +1100
commit48f17f5d3950f130434eea9ade014a0fe396cdae (patch)
tree743a45d22f1937396e60d8d838f7f89bf6ba8f6d /telepathy-logger/dbus-service.c
parentf4d15807d8479b84032d0cf6046ae7d4c7b2317b (diff)
downloadtelepathy-logger-48f17f5d3950f130434eea9ade014a0fe396cdae.tar.gz
dbus-service: more fixes
Diffstat (limited to 'telepathy-logger/dbus-service.c')
-rw-r--r--telepathy-logger/dbus-service.c27
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);
}