[librsvg: 28/48] feImage: Use Reference::parse to see if we are dealing with a node or a whole image
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 28/48] feImage: Use Reference::parse to see if we are dealing with a node or a whole image
- Date: Sat, 17 Nov 2018 10:22:23 +0000 (UTC)
commit 3fa7e9e2f575f7cb9ec4f91c68856eec6d8b7299
Author: Federico Mena Quintero <federico gnome org>
Date: Mon Sep 10 14:56:56 2018 -0500
feImage: Use Reference::parse to see if we are dealing with a node or a whole image
rsvg_internals/src/filters/image.rs | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
---
diff --git a/rsvg_internals/src/filters/image.rs b/rsvg_internals/src/filters/image.rs
index 6d7e103a..aabfcf5b 100644
--- a/rsvg_internals/src/filters/image.rs
+++ b/rsvg_internals/src/filters/image.rs
@@ -10,6 +10,7 @@ use libc;
use aspect_ratio::AspectRatio;
use attributes::Attribute;
+use defs::Reference;
use drawing_ctx::DrawingCtx;
use error::RenderingError;
use handle::RsvgHandle;
@@ -236,12 +237,11 @@ impl Filter for Image {
let bounds_builder = self.base.get_bounds(ctx);
let bounds = bounds_builder.into_irect(draw_ctx);
- let output_surface = match self.render_node(ctx, draw_ctx, bounds, href) {
- Err(FilterError::InvalidInput) => {
+ let output_surface = match Reference::parse(href).map_err(|_| FilterError::InvalidInput)? {
+ Reference::PlainUri(_) => {
self.render_external_image(ctx, draw_ctx, bounds_builder, href)?
}
- Err(err) => return Err(err),
- Ok(surface) => surface,
+ _ => self.render_node(ctx, draw_ctx, bounds, href)?,
};
Ok(FilterResult {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]