From c2e750d5bfa328fe0ba8c3dc1e1d8c818ad74849 Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Wed, 25 Jan 2012 11:45:14 +0100 Subject: [PATCH] sim: avoid passing source of the async object in finish --- src/mm-broadband-modem.c | 4 ++-- src/mm-sim.c | 9 ++++++--- src/mm-sim.h | 3 +-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c index 61a982ed..9a1251f2 100644 --- a/src/mm-broadband-modem.c +++ b/src/mm-broadband-modem.c @@ -246,14 +246,14 @@ modem_create_sim_finish (MMIfaceModem *self, } static void -modem_create_sim_ready (GAsyncInitable *initable, +modem_create_sim_ready (GObject *source, GAsyncResult *res, GSimpleAsyncResult *simple) { MMSim *sim; GError *error = NULL; - sim = mm_sim_new_finish (initable, res, &error); + sim = mm_sim_new_finish (res, &error); if (!sim) g_simple_async_result_take_error (simple, error); else { diff --git a/src/mm-sim.c b/src/mm-sim.c index 6241a8e8..520d6f97 100644 --- a/src/mm-sim.c +++ b/src/mm-sim.c @@ -1139,13 +1139,16 @@ init_async_context_free (InitAsyncContext *ctx, } MMSim * -mm_sim_new_finish (GAsyncInitable *initable, - GAsyncResult *res, +mm_sim_new_finish (GAsyncResult *res, GError **error) { + GObject *source; GObject *sim; - sim = g_async_initable_new_finish (initable, res, error); + source = g_async_result_get_source_object (res); + sim = g_async_initable_new_finish (G_ASYNC_INITABLE (source), res, error); + g_object_unref (source); + if (!sim) return NULL; diff --git a/src/mm-sim.h b/src/mm-sim.h index dce22200..cba15c07 100644 --- a/src/mm-sim.h +++ b/src/mm-sim.h @@ -125,8 +125,7 @@ void mm_sim_new (MMBaseModem *modem, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -MMSim *mm_sim_new_finish (GAsyncInitable *initable, - GAsyncResult *res, +MMSim *mm_sim_new_finish (GAsyncResult *res, GError **error); void mm_sim_initialize (MMSim *self,