]> git.0d.be Git - empathy.git/commitdiff
Create a constructor for PixbufAvatarFromIndividualClosure.
authorTravis Reitter <treitter@gmail.com>
Thu, 8 Jul 2010 02:46:05 +0000 (19:46 -0700)
committerTravis Reitter <treitter@gmail.com>
Tue, 20 Jul 2010 23:12:36 +0000 (16:12 -0700)
libempathy-gtk/empathy-ui-utils.c

index 83fbc636e95849b52286a932b66083cec530e9a5..0b947243e8de844b2a8a1210e00b44bb72fdd886 100644 (file)
@@ -527,6 +527,27 @@ typedef struct {
        guint height;
 } PixbufAvatarFromIndividualClosure;
 
+static PixbufAvatarFromIndividualClosure *
+pixbuf_avatar_from_individual_closure_new (FolksIndividual                     *individual,
+                                          gint                                 width,
+                                          gint                                 height,
+                                          EmpathyPixbufAvatarFromIndividualCb  callback,
+                                          gpointer                             user_data)
+{
+       PixbufAvatarFromIndividualClosure *closure;
+
+       g_return_val_if_fail (FOLKS_IS_INDIVIDUAL (individual), NULL);
+
+       closure = g_new0 (PixbufAvatarFromIndividualClosure, 1);
+       closure->individual = g_object_ref (individual);
+       closure->callback = callback;
+       closure->user_data = user_data;
+       closure->width = width;
+       closure->height = height;
+
+       return closure;
+}
+
 static void
 pixbuf_avatar_from_individual_closure_free (
                PixbufAvatarFromIndividualClosure *closure)
@@ -601,22 +622,16 @@ empathy_pixbuf_avatar_from_individual_scaled_async (FolksIndividual
        GFile *avatar_file;
        PixbufAvatarFromIndividualClosure *closure;
 
-       if (!FOLKS_IS_INDIVIDUAL (individual)) {
-               DEBUG ("failed assertion: FOLKS_IS_INDIVIDUAL (individual)");
-               goto out;
-       }
-
        avatar_file = folks_avatar_get_avatar (FOLKS_AVATAR (individual));
        if (avatar_file == NULL) {
                goto out;
        }
 
-       closure = g_new0 (PixbufAvatarFromIndividualClosure, 1);
-       closure->individual = g_object_ref (individual);
-       closure->callback = callback;
-       closure->user_data = user_data;
-       closure->width = width;
-       closure->height = height;
+       closure = pixbuf_avatar_from_individual_closure_new (individual, width,
+                                                            height, callback,
+                                                            user_data);
+       if (closure == NULL)
+               goto out;
 
        g_file_load_contents_async (avatar_file, NULL,
                        avatar_file_load_contents_cb, closure);