GDBusActionGroup: hold ref until async init done

to avoid use-after-free if GDBusActionGroup was finalized

https://bugzilla.gnome.org/show_bug.cgi?id=679509
This commit is contained in:
Pavel Vasin 2012-07-16 15:57:26 +04:00 committed by Matthias Clasen
parent b2d848e3cb
commit 151b198b93

View File

@ -268,6 +268,8 @@ g_dbus_action_group_describe_all_done (GObject *source,
g_variant_iter_free (iter); g_variant_iter_free (iter);
g_variant_unref (reply); g_variant_unref (reply);
} }
g_object_unref (group);
} }
@ -283,7 +285,7 @@ g_dbus_action_group_async_init (GDBusActionGroup *group)
g_dbus_connection_call (group->connection, group->bus_name, group->object_path, "org.gtk.Actions", "DescribeAll", NULL, g_dbus_connection_call (group->connection, group->bus_name, group->object_path, "org.gtk.Actions", "DescribeAll", NULL,
G_VARIANT_TYPE ("(a{s(bgav)})"), G_DBUS_CALL_FLAGS_NONE, -1, NULL, G_VARIANT_TYPE ("(a{s(bgav)})"), G_DBUS_CALL_FLAGS_NONE, -1, NULL,
g_dbus_action_group_describe_all_done, group); g_dbus_action_group_describe_all_done, g_object_ref (group));
} }
static gchar ** static gchar **