[librsvg] filters/image.rs: Use the fragment directly in the case where it is needed
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg] filters/image.rs: Use the fragment directly in the case where it is needed
- Date: Thu, 29 Nov 2018 18:07:00 +0000 (UTC)
commit cdf6f34ab942ecd8f48e1f68754467b3d1ef07f6
Author: Federico Mena Quintero <federico gnome org>
Date: Thu Nov 29 11:33:52 2018 -0600
filters/image.rs: Use the fragment directly in the case where it is needed
rsvg_internals/src/filters/image.rs | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
---
diff --git a/rsvg_internals/src/filters/image.rs b/rsvg_internals/src/filters/image.rs
index 3f331383..5cf16fa5 100644
--- a/rsvg_internals/src/filters/image.rs
+++ b/rsvg_internals/src/filters/image.rs
@@ -6,7 +6,7 @@ use cairo::{self, ImageSurface, MatrixTrait, PatternTrait};
use allowed_url::AllowedUrl;
use aspect_ratio::AspectRatio;
use attributes::Attribute;
-use defs::Href;
+use defs::{Fragment, Href};
use drawing_ctx::DrawingCtx;
use error::RenderingError;
use handle::{self, RsvgHandle};
@@ -49,15 +49,10 @@ impl Image {
ctx: &FilterContext,
draw_ctx: &mut DrawingCtx<'_>,
bounds: IRect,
- href: &Href,
+ fragment: &Fragment,
) -> Result<ImageSurface, FilterError> {
- let url = match *href {
- Href::WithFragment(ref f) => format!("{}#{}", f.uri().unwrap_or(""), f.fragment()),
- _ => unreachable!(),
- };
-
let acquired_drawable = draw_ctx
- .get_acquired_href(&url)
+ .get_acquired_node(fragment)
.ok_or(FilterError::InvalidInput)?;
let drawable = acquired_drawable.get();
@@ -229,7 +224,7 @@ impl Filter for Image {
Href::PlainUri(_) => {
self.render_external_image(ctx, draw_ctx, bounds_builder, &href)?
}
- Href::WithFragment(_) => self.render_node(ctx, draw_ctx, bounds, &href)?,
+ Href::WithFragment(frag) => self.render_node(ctx, draw_ctx, bounds, &frag)?,
};
Ok(FilterResult {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]