-- With commit a3f70378, backported for the MuPDF 1.12.0 update, there are:
-
- warning: dropping unclosed device
- warning: ... repeated <n> times ...
-
- ...and then when zathura is closed it crashes with a SIGSEGV.
- The `bt' - on NetBSD/amd64, 8.99.8 with pkgsrc-current packages - is the following:
-
- #0 0x00007c0085608d80 in ?? ()
- #1 0x00007c0084a02645 in ?? () from /usr/lib/libgcc_s.so.1
- #2 0x00007c0084a10610 in ?? () from /usr/lib/libgcc_s.so.1
- #3 0x00007c0084a10619 in _fini () from /usr/lib/libgcc_s.so.1
- #4 0x00007c0084a10610 in ?? () from /usr/lib/libgcc_s.so.1
- #5 0x00007f7e7ec01d09 in _rtld_call_function_void (obj=<optimized out>, addr=136341669097504) at /usr/src/libexec/ld.elf_so/rtld.h:504
- #6 _rtld_call_initfini_function (obj=<optimized out>, mask=0x7f7fff4c5830, func=136341669097504)
- at /usr/src/libexec/ld.elf_so/rtld.c:142
- #7 _rtld_call_fini_function (obj=<optimized out>, mask=mask@entry=0x7f7fff4c5830, cur_objgen=10)
- at /usr/src/libexec/ld.elf_so/rtld.c:157
- #8 0x00007f7e7ec01dc9 in _rtld_call_fini_functions (mask=mask@entry=0x7f7fff4c5830, force=force@entry=1)
- at /usr/src/libexec/ld.elf_so/rtld.c:203
- #9 0x00007f7e7ec0206a in _rtld_exit () at /usr/src/libexec/ld.elf_so/rtld.c:412
- #10 0x00007c0096100422 in __cxa_finalize (dso=dso@entry=0x0) at /usr/src/lib/libc/stdlib/atexit.c:222
- #11 0x00007c00960fffc3 in exit (status=0) at /usr/src/lib/libc/stdlib/exit.c:60
- #12 0x000000000040eca5 in _start ()
-
- Investigate and fix these problems if possible.
-
- -- leot (2017/12/18)
-
- Resurrect print/zathura-pdf-mupdf/patches/patch-links.c if still needed
(probably it is!)
SHA1 (patch-index.c) = 96022a5e5c6152e56cecad8f47c4893419536c83
SHA1 (patch-page.c) = adbe5766d39befdde4aed0a937ff96312921eb2f
SHA1 (patch-plugin.h) = 1e93cac827843be7a5caf887c5c3381ad16388f4
-SHA1 (patch-render.c) = 81f4bca39e5988b09a27e336ea4377cea0283305
+SHA1 (patch-render.c) = fc14be4e88f9f84383a9e117d15f8f853b14a01b
SHA1 (patch-select.c) = 5b6505ad998e1980a6cfa4dc0484f0707ea9799a
SHA1 (patch-utils.c) = 870c37dfd7c359ad1e9891a75e9afc71ac3c36c7
$NetBSD$
-Updated for MuPDF 1.12.0
-
-Backport from upstream, commit a3f703788f77b19bb986e14666fe0c47911adddc.
+- Always fz_close_device() before calling fz_drop_device().
+- Updated for MuPDF 1.12.0
+
+ Backport from upstream, commit a3f703788f77b19bb986e14666fe0c47911adddc.
--- render.c.orig 2017-01-11 21:21:14.000000000 +0000
+++ render.c
-@@ -37,7 +37,8 @@ pdf_page_render_to_buffer(mupdf_document
+@@ -31,21 +31,25 @@ pdf_page_render_to_buffer(mupdf_document
+ return ZATHURA_ERROR_UNKNOWN;
+ }
+
++ fz_close_device(mupdf_page->ctx, device);
+ fz_drop_device(mupdf_page->ctx, device);
+
+ fz_irect irect = { .x1 = page_width, .y1 = page_height };
fz_rect rect = { .x1 = page_width, .y1 = page_height };
fz_colorspace* colorspace = fz_device_bgr(mupdf_document->ctx);
fz_clear_pixmap_with_value(mupdf_page->ctx, pixmap, 0xFF);
device = fz_new_draw_device(mupdf_page->ctx, NULL, pixmap);
-@@ -46,6 +47,7 @@ pdf_page_render_to_buffer(mupdf_document
+ fz_run_display_list(mupdf_page->ctx, display_list, device, &fz_identity, &rect, NULL);
++ fz_close_device(mupdf_page->ctx, device);
+ fz_drop_device(mupdf_page->ctx, device);
fz_drop_pixmap(mupdf_page->ctx, pixmap);
fz_drop_display_list(mupdf_page->ctx, display_list);