summary refs log tree commit diff
path: root/gnu/packages/patches/cairo-setjmp-wrapper.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/cairo-setjmp-wrapper.patch')
-rw-r--r--gnu/packages/patches/cairo-setjmp-wrapper.patch78
1 files changed, 0 insertions, 78 deletions
diff --git a/gnu/packages/patches/cairo-setjmp-wrapper.patch b/gnu/packages/patches/cairo-setjmp-wrapper.patch
deleted file mode 100644
index bffac6e041..0000000000
--- a/gnu/packages/patches/cairo-setjmp-wrapper.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-Revert faulty commit to avoid undefined behaviour:
-https://bugs.freedesktop.org/show_bug.cgi?id=104325
-
-Taken from this upstream commit:
-https://cgit.freedesktop.org/cairo/commit/?h=1.14&id=2acc4382c54bd8239361ceed14423412a343d311
-
-diff --git a/src/cairo-bentley-ottmann-rectangular.c b/src/cairo-bentley-ottmann-rectangular.c
-index cb2e30c..5541bdc 100644
---- a/src/cairo-bentley-ottmann-rectangular.c
-+++ b/src/cairo-bentley-ottmann-rectangular.c
-@@ -593,12 +593,6 @@ sweep_line_insert (sweep_line_t	*sweep, rectangle_t *rectangle)
-     pqueue_push (sweep, rectangle);
- }
- 
--static int
--sweep_line_setjmp (sweep_line_t *sweep_line)
--{
--    return setjmp (sweep_line->unwind);
--}
--
- static cairo_status_t
- _cairo_bentley_ottmann_tessellate_rectangular (rectangle_t	**rectangles,
- 					       int			  num_rectangles,
-@@ -615,7 +609,7 @@ _cairo_bentley_ottmann_tessellate_rectangular (rectangle_t	**rectangles,
- 		     rectangles, num_rectangles,
- 		     fill_rule,
- 		     do_traps, container);
--    if ((status = sweep_line_setjmp (&sweep_line)))
-+    if ((status = setjmp (sweep_line.unwind)))
- 	return status;
- 
-     rectangle = rectangle_pop_start (&sweep_line);
-diff --git a/src/cairo-png.c b/src/cairo-png.c
-index e64b14a..068617d 100644
---- a/src/cairo-png.c
-+++ b/src/cairo-png.c
-@@ -158,14 +158,6 @@ png_simple_warning_callback (png_structp png,
-      */
- }
- 
--static int
--png_setjmp (png_struct *png)
--{
--#ifdef PNG_SETJMP_SUPPORTED
--    return setjmp (png_jmpbuf (png));
--#endif
--    return 0;
--}
- 
- /* Starting with libpng-1.2.30, we must explicitly specify an output_flush_fn.
-  * Otherwise, we will segfault if we are writing to a stream. */
-@@ -237,8 +229,10 @@ write_png (cairo_surface_t	*surface,
- 	goto BAIL4;
-     }
- 
--    if (png_setjmp (png))
-+#ifdef PNG_SETJMP_SUPPORTED
-+    if (setjmp (png_jmpbuf (png)))
- 	goto BAIL4;
-+#endif
- 
-     png_set_write_fn (png, closure, write_func, png_simple_output_flush_fn);
- 
-@@ -577,11 +571,12 @@ read_png (struct png_read_closure_t *png_closure)
-     png_set_read_fn (png, png_closure, stream_read_func);
- 
-     status = CAIRO_STATUS_SUCCESS;
--
--    if (png_setjmp (png)) {
-+#ifdef PNG_SETJMP_SUPPORTED
-+    if (setjmp (png_jmpbuf (png))) {
- 	surface = _cairo_surface_create_in_error (status);
- 	goto BAIL;
-     }
-+#endif
- 
-     png_read_info (png, info);
-