# HG changeset patch # User Richard Laager # Date 1133025468 0 # Node ID 423323aa0dbe4ef568a2dafd0bbf16a1b808eeb2 # Parent 18f0dadb29cfb993379480a05533c672ddf5a83e [gaim-migrate @ 14532] SF Patch #1366591 from Sadrul "This patch is a fix for bug #1336974. This patch is necessary when the image in the imgstore has a very small size (~250 bytes). The gdk_pixbuf_loader_write doesn't immediately parse the data if the data-size is really small. So closing it before trying to _loader_get_pixbuf makes sure all the data gets parsed and the correct pixbuf gets returned." I was skeptical when I saw the diff, but it turns out this is documented behavior. If I look at it from the point of view of a GdkPixbufLoader writer, it makes sense. committer: Tailor Script diff -r 18f0dadb29cf -r 423323aa0dbe src/gtkimhtml.c --- a/src/gtkimhtml.c Sat Nov 26 17:09:29 2005 +0000 +++ b/src/gtkimhtml.c Sat Nov 26 17:17:48 2005 +0000 @@ -4438,10 +4438,10 @@ if (data && len) { GdkPixbufLoader *loader = gdk_pixbuf_loader_new(); gdk_pixbuf_loader_write(loader, data, len, NULL); + gdk_pixbuf_loader_close(loader, NULL); pixbuf = gdk_pixbuf_loader_get_pixbuf(loader); if (pixbuf) g_object_ref(G_OBJECT(pixbuf)); - gdk_pixbuf_loader_close(loader, NULL); g_object_unref(G_OBJECT(loader)); }