--- xournal-0.4.2.1/src/xo-file.c.orig 2008-03-21 17:59:19.000000000 -0500 +++ xournal-0.4.2.1/src/xo-file.c 2009-01-29 12:07:14.000000000 -0600 @@ -987,7 +993,20 @@ for (npad = 6; npad>0; npad--) { ppm_name = g_strdup_printf("%s/p-%0*d.ppm", bgpdf.tmpdir, npad, req->pageno); if (bgpdf.status != STATUS_ABORTED && bgpdf.status != STATUS_SHUTDOWN) - pixbuf = gdk_pixbuf_new_from_file(ppm_name, NULL); + { // workaround for PPM loading issue in recent GTK + gchar *buf; + gsize count; + GdkPixbufLoader *loader = gdk_pixbuf_loader_new_with_type("pnm", +NULL); + if (loader!=NULL && g_file_get_contents(ppm_name, &buf, &count, +NULL)) + { + gdk_pixbuf_loader_write(loader, buf, count, NULL); + pixbuf = gdk_pixbuf_loader_get_pixbuf(loader); + gdk_pixbuf_loader_close(loader, NULL); + g_free(buf); + } + } ret = unlink(ppm_name); g_free(ppm_name); if (pixbuf != NULL || ret == 0) break;