Commit 7871c3dc authored by Paul Eggert's avatar Paul Eggert

Pacify librsvg 2.45.1 and later

* src/image.c (svg_load_image): Pacify librsvg 2.45.1 and later,
and add a FIXME comment about the deprecated librsvg functions.
Backport from master.
parent d93f4bda
......@@ -9306,6 +9306,17 @@ svg_load_image (struct frame *f, struct image *img, char *contents,
if (filename)
rsvg_handle_set_base_uri(rsvg_handle, filename);
/* Suppress GCC deprecation warnings starting in librsvg 2.45.1 for
rsvg_handle_write and rsvg_handle_close. FIXME: Use functions
like rsvg_handle_new_from_gfile_sync on newer librsvg versions,
and remove this hack. */
#if GNUC_PREREQ (4, 6, 0)
#pragma GCC diagnostic push
#if LIBRSVG_CHECK_VERSION (2, 45, 1) && GNUC_PREREQ (4, 2, 0)
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
/* Parse the contents argument and fill in the rsvg_handle. */
rsvg_handle_write (rsvg_handle, (unsigned char *) contents, size, &err);
if (err) goto rsvg_error;
......@@ -9315,6 +9326,10 @@ svg_load_image (struct frame *f, struct image *img, char *contents,
rsvg_handle_close (rsvg_handle, &err);
if (err) goto rsvg_error;
#if GNUC_PREREQ (4, 6, 0)
#pragma GCC diagnostic pop
rsvg_handle_get_dimensions (rsvg_handle, &dimension_data);
if (! check_image_size (f, dimension_data.width, dimension_data.height))
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment