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.
This commit is contained in:
parent
de7d9e1f88
commit
ca8e37eaf6
1 changed files with 13 additions and 22 deletions
35
src/image.c
35
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;
|
||||
#endif
|
||||
|
||||
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;
|
||||
}
|
||||
#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;
|
||||
|
||||
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);
|
||||
|
|
Loading…
Add table
Reference in a new issue