From ca8e37eaf64f23675fab36eadead4d3b613b8a1b Mon Sep 17 00:00:00 2001 From: Alan Third Date: Sun, 15 Nov 2020 17:21:03 +0000 Subject: [PATCH] Fix SVG display again (bug#44655) * src/image.c (svg_load_image): Fall back to rsvg_handle_get_dimensions if we can't calculate the size of the image. --- src/image.c | 33 ++++++++++++--------------------- 1 file changed, 12 insertions(+), 21 deletions(-) diff --git a/src/image.c b/src/image.c index 3858f3c41f3..fdb7ef874d7 100644 --- a/src/image.c +++ b/src/image.c @@ -9903,30 +9903,21 @@ svg_load_image (struct frame *f, struct image *img, char *contents, viewbox_width = viewbox.x + viewbox.width; viewbox_height = viewbox.y + viewbox.height; } -#else - /* The function used above to get the geometry of the visible area - of the SVG are only available in librsvg 2.46 and above, so in - certain circumstances this code path can result in some parts of - the SVG being cropped. */ - RsvgDimensionData dimension_data; - - rsvg_handle_get_dimensions (rsvg_handle, &dimension_data); - viewbox_width = dimension_data.width; - viewbox_height = dimension_data.height; + if (viewbox_width == 0 || viewbox_height == 0) #endif + { + /* The functions used above to get the geometry of the visible + area of the SVG are only available in librsvg 2.46 and above, + so in certain circumstances this code path can result in some + parts of the SVG being cropped. */ + RsvgDimensionData dimension_data; - if (viewbox_width == 0 || viewbox_height == 0) - { - /* We do not have any usable dimensions, so make some up. The - values below are supposedly the default values most web - browsers use for SVGs with no set size. */ - /* FIXME: At this stage we should perhaps consider rendering the - image out to a bitmap and getting the dimensions from - that. */ - viewbox_width = 300; - viewbox_height = 150; - } + rsvg_handle_get_dimensions (rsvg_handle, &dimension_data); + + viewbox_width = dimension_data.width; + viewbox_height = dimension_data.height; + } compute_image_size (viewbox_width, viewbox_height, img->spec, &width, &height); -- 2.39.5