diff options
author | root <root@rshg054.dnsready.net> | 2013-05-07 00:36:35 -0700 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2013-05-07 00:36:35 -0700 |
commit | da0a0d88caa1bf934ebf314ef86e15928dbb027b (patch) | |
tree | b7c57ac9667de10c72390e0d81654fffbe47c42d /extra/cairo/libpng16.patch | |
parent | ffb692bf2696e7ebedd19bcd55ba253e21cb732d (diff) |
Tue May 7 00:36:35 PDT 2013
Diffstat (limited to 'extra/cairo/libpng16.patch')
-rw-r--r-- | extra/cairo/libpng16.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/extra/cairo/libpng16.patch b/extra/cairo/libpng16.patch new file mode 100644 index 000000000..c16317811 --- /dev/null +++ b/extra/cairo/libpng16.patch @@ -0,0 +1,40 @@ +From 2dd2c826a5b367d32cf2d48ed69754795990c5db Mon Sep 17 00:00:00 2001 +From: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue, 16 Apr 2013 09:58:56 +0000 +Subject: png: Avoid marking the surface as in error after a png warning + +It turns out that libpng will continue to load an image after throwing a +warning, and that libpng16 now throws warnings for images that libpng15 +and earlier loaded without error. As we were happily loading those +images into cairo surfaces before, we are therefore being overzealous +in throwing an error now - so just squelch the warning. + +Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> +--- +diff --git a/src/cairo-png.c b/src/cairo-png.c +index e74a4a8..068617d 100644 +--- a/src/cairo-png.c ++++ b/src/cairo-png.c +@@ -149,13 +149,13 @@ static void + png_simple_warning_callback (png_structp png, + png_const_charp error_msg) + { +- cairo_status_t *error = png_get_error_ptr (png); +- +- /* default to the most likely error */ +- if (*error == CAIRO_STATUS_SUCCESS) +- *error = _cairo_error (CAIRO_STATUS_NO_MEMORY); +- +- /* png does not expect to abort and will try to tidy up after a warning */ ++ /* png does not expect to abort and will try to tidy up and continue ++ * loading the image after a warning. So we also want to return the ++ * (incorrect?) surface. ++ * ++ * We use our own warning callback to squelch any attempts by libpng ++ * to write to stderr as we may not be in control of that output. ++ */ + } + + +-- +cgit v0.9.0.2-2-gbebe |