~ubuntu-branches/ubuntu/utopic/gossip/utopic

« back to all changes in this revision

Viewing changes to libgossip/gossip-vcard.c

  • Committer: Bazaar Package Importer
  • Author(s): Norbert Tretkowski
  • Date: 2007-05-30 21:16:05 UTC
  • mfrom: (1.1.19 upstream)
  • Revision ID: james.westby@ubuntu.com-20070530211605-fwsaooscfnmujkqd
Tags: 0.26-1
New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
365
365
        return priv->avatar;
366
366
}
367
367
 
368
 
 
 
368
GdkPixbuf *
 
369
gossip_vcard_create_avatar_pixbuf (GossipVCard *vcard)
 
370
{
 
371
        GossipVCardPriv *priv;
 
372
        GdkPixbuf       *pixbuf;
 
373
        GdkPixbufLoader *loader;
 
374
        GossipAvatar    *avatar;
 
375
        GError          *error = NULL;
 
376
 
 
377
        g_return_val_if_fail (GOSSIP_IS_VCARD (vcard), NULL);
 
378
 
 
379
        priv = GOSSIP_VCARD_GET_PRIV (vcard);
 
380
 
 
381
 
 
382
        avatar = priv->avatar;
 
383
        if (!avatar) {
 
384
                return NULL;
 
385
        }
 
386
 
 
387
        loader = gdk_pixbuf_loader_new ();
 
388
 
 
389
        if (!gdk_pixbuf_loader_write (loader, avatar->data, avatar->len,
 
390
                                      &error)) {
 
391
                g_warning ("Couldn't write avatar image:%p with "
 
392
                           "length:%" G_GSIZE_FORMAT " to pixbuf loader: %s",
 
393
                           avatar->data, avatar->len, error->message);
 
394
                g_error_free (error);
 
395
                return NULL;
 
396
        }
 
397
 
 
398
        gdk_pixbuf_loader_close (loader, NULL);
 
399
 
 
400
        pixbuf = gdk_pixbuf_loader_get_pixbuf (loader);
 
401
 
 
402
        g_object_ref (pixbuf);
 
403
        g_object_unref (loader);
 
404
 
 
405
        return pixbuf;
 
406
}
369
407
 
370
408
void
371
409
gossip_vcard_set_name (GossipVCard *vcard,