GAsyncResult *result,
gpointer user_data)
{
- TpWeakRef *weak = user_data;
- EmpathyAvatarChooser *self = tp_weak_ref_dup_object (weak);
+ TpWeakRef *wr = user_data;
+ EmpathyAvatarChooser *self = tp_weak_ref_dup_object (wr);
const GArray *avatar;
GdkPixbuf *pixbuf;
gchar *mime_type;
GError *error = NULL;
if (self == NULL)
- goto out;
+ {
+ tp_weak_ref_destroy (wr);
+ return;
+ }
avatar = tp_account_get_avatar_finish (self->priv->account, result, &error);
if (avatar == NULL)
g_free (mime_type);
self->priv->changed = FALSE;
- g_object_unref (self);
out:
- tp_weak_ref_destroy (weak);
+ tp_weak_ref_destroy (wr);
+ g_object_unref (self);
}
static void
GAsyncResult *result,
gpointer user_data)
{
- EmpathyAppPluginWidget *self = user_data;
+ TpWeakRef *wr = user_data;
+ EmpathyAppPluginWidget *self = tp_weak_ref_dup_object (wr);
TpAccountManager *manager = (TpAccountManager *) source;
GList *accounts;
GError *error = NULL;
+ if (self == NULL)
+ {
+ tp_weak_ref_destroy (wr);
+ return;
+ }
+
if (!tp_proxy_prepare_finish (manager, result, &error))
{
g_debug ("Error preparing Account Manager: %s", error->message);
g_list_free (accounts);
out:
+ tp_weak_ref_destroy (wr);
g_object_unref (self);
}
* AgAccount */
manager = tp_account_manager_dup ();
tp_proxy_prepare_async (manager, NULL,
- manager_prepared_cb, g_object_ref (self));
+ manager_prepared_cb, tp_weak_ref_new (self, NULL, NULL));
g_object_unref (manager);
}
GAsyncResult *result,
gpointer user_data)
{
- EmpathyAccountsPluginWidget *self = user_data;
+ TpWeakRef *wr = user_data;
+ EmpathyAccountsPluginWidget *self = tp_weak_ref_dup_object (wr);
TpAccountManager *manager = (TpAccountManager *) source;
GList *accounts;
GError *error = NULL;
+ if (self == NULL)
+ {
+ tp_weak_ref_destroy (wr);
+ return;
+ }
+
if (!tp_proxy_prepare_finish (manager, result, &error))
{
g_debug ("Error preparing Account Manager: %s", error->message);
g_list_free (accounts);
out:
+ tp_weak_ref_destroy (wr);
g_object_unref (self);
}
manager = tp_account_manager_dup ();
tp_proxy_prepare_async (manager, NULL,
- manager_prepared_cb, g_object_ref (self));
+ manager_prepared_cb, tp_weak_ref_new (self, NULL, NULL));
g_object_unref (manager);
return;
}