[librsvg: 9/36] link: remove interior mutability
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 9/36] link: remove interior mutability
- Date: Mon, 1 Jul 2019 01:54:23 +0000 (UTC)
commit 0fcb7fb24bcce466f7cd6072b1d967a58e503e4e
Author: Paolo Borelli <pborelli gnome org>
Date: Sun Jun 30 14:35:22 2019 +0200
link: remove interior mutability
rsvg_internals/src/link.rs | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
---
diff --git a/rsvg_internals/src/link.rs b/rsvg_internals/src/link.rs
index fac5b573..cb0aeb11 100644
--- a/rsvg_internals/src/link.rs
+++ b/rsvg_internals/src/link.rs
@@ -2,7 +2,6 @@ use lazy_static::lazy_static;
use markup5ever::local_name;
use regex::{Captures, Regex};
use std::borrow::Cow;
-use std::cell::RefCell;
use crate::drawing_ctx::DrawingCtx;
use crate::error::RenderingError;
@@ -11,15 +10,14 @@ use crate::property_bag::PropertyBag;
#[derive(Default)]
pub struct NodeLink {
- link: RefCell<Option<String>>,
+ link: Option<String>,
}
impl NodeTrait for NodeLink {
fn set_atts(&mut self, _: Option<&RsvgNode>, pbag: &PropertyBag<'_>) -> NodeResult {
for (attr, value) in pbag.iter() {
match attr {
- local_name!("xlink:href") => *self.link.borrow_mut() = Some(value.to_owned()),
-
+ local_name!("xlink:href") => self.link = Some(value.to_owned()),
_ => (),
}
}
@@ -34,12 +32,10 @@ impl NodeTrait for NodeLink {
draw_ctx: &mut DrawingCtx,
clipping: bool,
) -> Result<(), RenderingError> {
- let link = self.link.borrow();
-
let cascaded = CascadedValues::new(cascaded, node);
let values = cascaded.get();
- draw_ctx.with_discrete_layer(node, values, clipping, &mut |dc| match link.as_ref() {
+ draw_ctx.with_discrete_layer(node, values, clipping, &mut |dc| match self.link.as_ref() {
Some(l) if !l.is_empty() => {
const CAIRO_TAG_LINK: &str = "Link";
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]