mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-11 14:34:37 +08:00
will commit them separately next time... it's just too much work to do separate commits right now
41 lines
1.5 KiB
Diff
41 lines
1.5 KiB
Diff
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
|