[poppler] 2 commits - poppler/CairoOutputDev.cc
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Nov 1 22:17:09 UTC 2018
poppler/CairoOutputDev.cc | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
New commits:
commit 52db12dd06fac5cfe9010c1f18ef719f2c6c3df2
Author: Adrian Johnson <ajohnson at redneon.com>
Date: Sun Oct 14 07:57:34 2018 +0000
cairo: Update comment
diff --git a/poppler/CairoOutputDev.cc b/poppler/CairoOutputDev.cc
index 04d8cbf4..8b31df77 100644
--- a/poppler/CairoOutputDev.cc
+++ b/poppler/CairoOutputDev.cc
@@ -3040,7 +3040,9 @@ void CairoOutputDev::setMimeData(GfxState *state, Stream *str, Object *ref,
cairo_status_t status = CAIRO_STATUS_SUCCESS;
#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 11, 2)
- // Avoid UNIQUE_ID on PS output as it stores unique images in PS memory for re-use.
+ // Since 1.5.10 the cairo PS backend stores images with UNIQUE_ID in PS memory so the
+ // image can be re-used multiple times. As we don't know how large the images are or
+ // how many times they are used, there is no benefit in enabling this. Issue #106
if (cairo_surface_get_type (cairo_get_target (cairo)) != CAIRO_SURFACE_TYPE_PS) {
if (ref && ref->isRef()) {
status = setMimeIdFromRef(image, CAIRO_MIME_TYPE_UNIQUE_ID,
commit cb307609b79187b72f5239330bf7f448d7101678
Author: Adrian Johnson <ajohnson at redneon.com>
Date: Thu Oct 11 08:42:14 2018 +0000
cairo: Don't use UNIQUE_ID for PS output
to avoid using PS memory on cairo >= 1.5.10
diff --git a/poppler/CairoOutputDev.cc b/poppler/CairoOutputDev.cc
index b8a3e491..04d8cbf4 100644
--- a/poppler/CairoOutputDev.cc
+++ b/poppler/CairoOutputDev.cc
@@ -3040,9 +3040,12 @@ void CairoOutputDev::setMimeData(GfxState *state, Stream *str, Object *ref,
cairo_status_t status = CAIRO_STATUS_SUCCESS;
#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 11, 2)
- if (ref && ref->isRef()) {
- status = setMimeIdFromRef(image, CAIRO_MIME_TYPE_UNIQUE_ID,
- "poppler-surface-", ref->getRef());
+ // Avoid UNIQUE_ID on PS output as it stores unique images in PS memory for re-use.
+ if (cairo_surface_get_type (cairo_get_target (cairo)) != CAIRO_SURFACE_TYPE_PS) {
+ if (ref && ref->isRef()) {
+ status = setMimeIdFromRef(image, CAIRO_MIME_TYPE_UNIQUE_ID,
+ "poppler-surface-", ref->getRef());
+ }
}
#endif
if (!status) {
More information about the poppler
mailing list