summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2010-05-21 12:47:34 +0200
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2010-05-26 12:35:22 +0200
commit53d80ad82f61a70bdc994a344a5fc84448cb0fa3 (patch)
treebbab39f46db4291fda0808fdcde4eb647a060daf
parent92df36c0ec84cf07c96ea8694bbf1e2cfdd819ae (diff)
fix tpl_log_manager_search_new_finish
-rw-r--r--telepathy-logger/log-manager.c22
-rw-r--r--telepathy-logger/log-manager.h3
2 files changed, 19 insertions, 6 deletions
diff --git a/telepathy-logger/log-manager.c b/telepathy-logger/log-manager.c
index 9bc7d82a2..a31cdca77 100644
--- a/telepathy-logger/log-manager.c
+++ b/telepathy-logger/log-manager.c
@@ -1381,17 +1381,29 @@ tpl_log_manager_search_in_identifier_chats_new_async (TplLogManager *manager,
/* Start of tpl_log_manager_search_new async implementation */
-GList *
+gboolean
tpl_log_manager_search_new_finish (TplLogManager *self,
GAsyncResult *result,
+ GList **chats,
GError **error)
{
- g_return_val_if_fail (error == NULL || *error == NULL, NULL);
+ GSimpleAsyncResult *simple;
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (result);
- return g_simple_async_result_get_op_res_gpointer (simple);
-}
+ g_return_val_if_fail (TPL_IS_LOG_MANAGER (self), FALSE);
+ g_return_val_if_fail (G_IS_SIMPLE_ASYNC_RESULT (result), FALSE);
+ g_return_val_if_fail (g_simple_async_result_is_valid (result,
+ G_OBJECT (self), tpl_log_manager_search_new_async), FALSE);
+
+ simple = G_SIMPLE_ASYNC_RESULT (result);
+ if (g_simple_async_result_propagate_error (simple, error))
+ return FALSE;
+
+ if (chats != NULL)
+ *chats = g_simple_async_result_get_op_res_gpointer (simple);
+
+ return TRUE;
+}
static void
_search_new_async_result_free (gpointer data)
diff --git a/telepathy-logger/log-manager.h b/telepathy-logger/log-manager.h
index 050b1ee7b..5eef1d609 100644
--- a/telepathy-logger/log-manager.h
+++ b/telepathy-logger/log-manager.h
@@ -147,8 +147,9 @@ void tpl_log_manager_search_in_identifier_chats_new_async (TplLogManager *manage
GList *tpl_log_manager_search_new (TplLogManager *manager,
const gchar *text);
-GList *tpl_log_manager_search_new_finish (TplLogManager *self,
+gboolean tpl_log_manager_search_new_finish (TplLogManager *self,
GAsyncResult *result,
+ GList **chats,
GError **error);
void tpl_log_manager_search_new_async (TplLogManager *manager,