gtk-demo: Don't use deprecated librsvg API
authorBenjamin Otte <otte@redhat.com>
Tue, 9 Nov 2021 19:28:53 +0000 (20:28 +0100)
committerBenjamin Otte <otte@redhat.com>
Tue, 9 Nov 2021 19:29:49 +0000 (20:29 +0100)
New API requires a newer librsvg version, so require that one.

demos/gtk-demo/meson.build
demos/gtk-demo/svgpaintable.c

index 2248b60b19137983319700a19d600d87002f0357..94f2f45415db26e5430bfdaf151e7f18ee4b9d67 100644 (file)
@@ -140,7 +140,7 @@ if os_unix
   demos += files('pagesetup.c')
 endif
 
-librsvg_dep = dependency('librsvg-2.0', version: '>= 2.46.0', required: false)
+librsvg_dep = dependency('librsvg-2.0', version: '>= 2.52.0', required: false)
 
 if librsvg_dep.found()
   demos += files('paintable_svg.c')
index 21879ed0d9718de785017372141c68b9268d887c..2779ac63e6effc777d5bac643bfa5c0cad855f5f 100644 (file)
@@ -47,22 +47,24 @@ static int
 svg_paintable_get_intrinsic_width (GdkPaintable *paintable)
 {
   SvgPaintable *self = SVG_PAINTABLE (paintable);
-  RsvgDimensionData data;
+  double width;
 
-  rsvg_handle_get_dimensions (self->handle, &data);
+  if (!rsvg_handle_get_intrinsic_size_in_pixels (self->handle, &width, NULL))
+    return 0;
 
-  return data.width;
+  return ceil (width);
 }
 
 static int
 svg_paintable_get_intrinsic_height (GdkPaintable *paintable)
 {
   SvgPaintable *self = SVG_PAINTABLE (paintable);
-  RsvgDimensionData data;
+  double height;
 
-  rsvg_handle_get_dimensions (self->handle, &data);
+  if (!rsvg_handle_get_intrinsic_size_in_pixels (self->handle, NULL, &height))
+    return 0;
 
-  return data.height;
+  return ceil (height);
 }
 
 static void