From: Cosimo Cecchi Date: Thu, 17 Jun 2010 16:26:15 +0000 (+0200) Subject: Bug 621905 – Assume a ref when doing async work X-Git-Tag: 2.25.9~22 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b3cc28bc34bd0b341f1786dc478cff259ce5d1da;p=platform%2Fupstream%2Fglib.git Bug 621905 – Assume a ref when doing async work When asynchronously acquiring the DBus connection, assume a reference to the proxy object, to avoid destroying it in the middle of the operation. See https://bugzilla.gnome.org/show_bug.cgi?id=621905 --- diff --git a/gio/gdbusproxy.c b/gio/gdbusproxy.c index eaae1dc..78e4fa4 100644 --- a/gio/gdbusproxy.c +++ b/gio/gdbusproxy.c @@ -1418,6 +1418,8 @@ get_connection_cb (GObject *source_object, if (data->cancellable != NULL) g_object_unref (data->cancellable); + if (data->proxy != NULL) + g_object_unref (data->proxy); g_free (data); } @@ -1437,7 +1439,7 @@ async_initable_init_async (GAsyncInitable *initable, g_assert (proxy->priv->connection == NULL); data = g_new0 (GetConnectionData, 1); - data->proxy = proxy; + data->proxy = g_object_ref (proxy); data->io_priority = io_priority; data->cancellable = cancellable != NULL ? g_object_ref (cancellable) : NULL; data->callback = callback;