LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 648|回复: 2

[分享]xournal 0.4.2.1 "annotate pdf"补丁

[复制链接]
发表于 2009-3-12 00:12:45 | 显示全部楼层 |阅读模式
链接:http://bugs.gentoo.org/show_bug.cgi?id=257980
0.4.2.1-pdf-annotation.patch
  1. --- xournal-0.4.2.1/src/xo-file.c.orig        2008-03-21 17:59:19.000000000 -0500
  2. +++ xournal-0.4.2.1/src/xo-file.c        2009-01-29 12:07:14.000000000 -0600
  3. @@ -987,7 +993,20 @@
  4.    for (npad = 6; npad>0; npad--) {
  5.       ppm_name = g_strdup_printf("%s/p-%0*d.ppm", bgpdf.tmpdir, npad, req->pageno);
  6.       if (bgpdf.status != STATUS_ABORTED && bgpdf.status != STATUS_SHUTDOWN)
  7. -       pixbuf = gdk_pixbuf_new_from_file(ppm_name, NULL);
  8. +     { // workaround for PPM loading issue in recent GTK
  9. +       gchar *buf;
  10. +       gsize count;
  11. +       GdkPixbufLoader *loader = gdk_pixbuf_loader_new_with_type("pnm",
  12. +NULL);
  13. +       if (loader!=NULL && g_file_get_contents(ppm_name, &buf, &count,
  14. +NULL))
  15. +       {
  16. +         gdk_pixbuf_loader_write(loader, buf, count, NULL);
  17. +         pixbuf = gdk_pixbuf_loader_get_pixbuf(loader);
  18. +         gdk_pixbuf_loader_close(loader, NULL);
  19. +         g_free(buf);
  20. +       }
  21. +     }
  22.       ret = unlink(ppm_name);
  23.       g_free(ppm_name);
  24.       if (pixbuf != NULL || ret == 0) break;
复制代码
发表于 2009-5-2 13:38:54 | 显示全部楼层
赞!

gtk2的bug, 但是不用重编gtk2,直接重编xiurnal 就好了。
Thx
回复 支持 反对

使用道具 举报

发表于 2009-5-2 20:20:56 | 显示全部楼层
这东西关键是太吃内存。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表