diff options
author | drochner <drochner@pkgsrc.org> | 2011-01-11 12:17:15 +0000 |
---|---|---|
committer | drochner <drochner@pkgsrc.org> | 2011-01-11 12:17:15 +0000 |
commit | c3c5a6db2828955ca6ba018ef1b21bfaa9ed840d (patch) | |
tree | cd5e41678756e86d0a48e4de46d583ae4c938000 /print/poppler | |
parent | 8d75abb07045fd94e23db73d36143638e2179b51 (diff) | |
download | pkgsrc-c3c5a6db2828955ca6ba018ef1b21bfaa9ed840d.tar.gz |
add patch from upstream which fixes a colorspace problem in the
glib/cairo frontend (ie pdf generation), bump PKGREV
Diffstat (limited to 'print/poppler')
-rw-r--r-- | print/poppler/distinfo | 4 | ||||
-rw-r--r-- | print/poppler/patches/patch-ar | 66 | ||||
-rw-r--r-- | print/poppler/patches/patch-as | 12 |
3 files changed, 81 insertions, 1 deletions
diff --git a/print/poppler/distinfo b/print/poppler/distinfo index 2a3bbd38b89..ce26dfc99c3 100644 --- a/print/poppler/distinfo +++ b/print/poppler/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.63 2010/11/15 15:13:20 drochner Exp $ +$NetBSD: distinfo,v 1.64 2011/01/11 12:17:15 drochner Exp $ SHA1 (poppler-0.14.5.tar.gz) = e23b115e4ebc06c937318688b06a7c6b3319a00a RMD160 (poppler-0.14.5.tar.gz) = 80d4441912b02d89777405ce03f8e175c4ccfa9e @@ -10,5 +10,7 @@ SHA1 (patch-ag) = 4b914e85bb08ce83305d20de9c0a3e74d3cabdd2 SHA1 (patch-ai) = a51dba3fb0e7131873ef82ae5e256fb1d17cee53 SHA1 (patch-ao) = cf7e0f086522147a91f59b1b26ca510d1971ac74 SHA1 (patch-aq) = 01e115ca868e0bbd398bade92485d83edbe98d66 +SHA1 (patch-ar) = 0c77eb223d27545942f2b2d6081f07c3d796bb2d +SHA1 (patch-as) = 9ce48a302cdb83f4dcb811d36a3b23cfb6652bbb SHA1 (patch-bc) = 456af841d297ce365878c9756d2c6327f9d7658e SHA1 (patch-bg) = b0353bf4bbee7a85f2a81e346119747897c7289f diff --git a/print/poppler/patches/patch-ar b/print/poppler/patches/patch-ar new file mode 100644 index 00000000000..89b5575849b --- /dev/null +++ b/print/poppler/patches/patch-ar @@ -0,0 +1,66 @@ +$NetBSD: patch-ar,v 1.1 2011/01/11 12:17:15 drochner Exp $ + +--- poppler/CairoOutputDev.cc.orig 2010-11-02 19:20:36.000000000 +0000 ++++ poppler/CairoOutputDev.cc +@@ -2286,6 +2286,36 @@ GBool CairoOutputDev::getStreamData (Str + return gTrue; + } + ++void CairoOutputDev::setMimeData(Stream *str, cairo_surface_t *image) ++{ ++ char *strBuffer; ++ int len; ++ Object obj; ++ ++ if (!printing || !(str->getKind() == strDCT || str->getKind() == strJPX)) ++ return; ++ ++ // colorspace in stream dict may be different from colorspace in jpx ++ // data ++ if (str->getKind() == strJPX) { ++ GBool hasColorSpace = !str->getDict()->lookup("ColorSpace", &obj)->isNull(); ++ obj.free(); ++ if (hasColorSpace) ++ return; ++ } ++ ++ if (getStreamData (str->getNextStream(), &strBuffer, &len)) { ++ cairo_status_t st; ++ st = cairo_surface_set_mime_data (image, ++ str->getKind() == strDCT ? ++ CAIRO_MIME_TYPE_JPEG : CAIRO_MIME_TYPE_JP2, ++ (const unsigned char *)strBuffer, len, ++ gfree, strBuffer); ++ if (st) ++ gfree (strBuffer); ++ } ++} ++ + void CairoOutputDev::drawImage(GfxState *state, Object *ref, Stream *str, + int width, int height, + GfxImageColorMap *colorMap, +@@ -2399,23 +2429,7 @@ void CairoOutputDev::drawImage(GfxState + + cairo_surface_mark_dirty (image); + +-#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 9, 6) +- if (printing && (str->getKind() == strDCT || str->getKind() == strJPX)) { +- char *strBuffer; +- int len; +- +- if (getStreamData (str->getNextStream(), &strBuffer, &len)) { +- cairo_status_t st; +- st = cairo_surface_set_mime_data (image, +- str->getKind() == strDCT ? +- CAIRO_MIME_TYPE_JPEG : CAIRO_MIME_TYPE_JP2, +- (const unsigned char *)strBuffer, len, +- gfree, strBuffer); +- if (st) +- gfree (strBuffer); +- } +- } +-#endif /* CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 9, 6) */ ++ setMimeData(str, image); + + pattern = cairo_pattern_create_for_surface (image); + cairo_surface_destroy (image); diff --git a/print/poppler/patches/patch-as b/print/poppler/patches/patch-as new file mode 100644 index 00000000000..8cea3eedb09 --- /dev/null +++ b/print/poppler/patches/patch-as @@ -0,0 +1,12 @@ +$NetBSD: patch-as,v 1.1 2011/01/11 12:17:15 drochner Exp $ + +--- poppler/CairoOutputDev.h.orig 2010-11-02 19:20:36.000000000 +0000 ++++ poppler/CairoOutputDev.h +@@ -275,6 +275,7 @@ protected: + cairo_filter_t getFilterForSurface(cairo_surface_t *image, + GBool interpolate); + GBool getStreamData (Stream *str, char **buffer, int *length); ++ void setMimeData(Stream *str, cairo_surface_t *image); + + GfxRGB fill_color, stroke_color; + cairo_pattern_t *fill_pattern, *stroke_pattern; |