[librsvg: 25/36] filters/gaussian_blur: remove interior mutability



commit 1012e1d3f4e0767fa7dbbba43e7d5e1a695c125b
Author: Paolo Borelli <pborelli gnome org>
Date:   Sun Jun 30 16:37:35 2019 +0200

    filters/gaussian_blur: remove interior mutability

 rsvg_internals/src/filters/gaussian_blur.rs | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)
---
diff --git a/rsvg_internals/src/filters/gaussian_blur.rs b/rsvg_internals/src/filters/gaussian_blur.rs
index 7b35b5ae..fc61c27f 100644
--- a/rsvg_internals/src/filters/gaussian_blur.rs
+++ b/rsvg_internals/src/filters/gaussian_blur.rs
@@ -1,4 +1,3 @@
-use std::cell::Cell;
 use std::cmp::min;
 use std::f64;
 
@@ -28,7 +27,7 @@ const MAXIMUM_KERNEL_SIZE: usize = 500;
 /// The `feGaussianBlur` filter primitive.
 pub struct GaussianBlur {
     base: PrimitiveWithInput,
-    std_deviation: Cell<(f64, f64)>,
+    std_deviation: (f64, f64),
 }
 
 impl Default for GaussianBlur {
@@ -37,7 +36,7 @@ impl Default for GaussianBlur {
     fn default() -> GaussianBlur {
         GaussianBlur {
             base: PrimitiveWithInput::new::<Self>(),
-            std_deviation: Cell::new((0.0, 0.0)),
+            std_deviation: (0.0, 0.0),
         }
     }
 }
@@ -50,8 +49,8 @@ impl NodeTrait for GaussianBlur {
 
         for (attr, value) in pbag.iter() {
             match attr {
-                local_name!("stdDeviation") => self.std_deviation.set(
-                    parsers::number_optional_number(value)
+                local_name!("stdDeviation") => {
+                    self.std_deviation = parsers::number_optional_number(value)
                         .attribute(attr.clone())
                         .and_then(|(x, y)| {
                             if x >= 0.0 && y >= 0.0 {
@@ -59,8 +58,8 @@ impl NodeTrait for GaussianBlur {
                             } else {
                                 Err(NodeError::value_error(attr, "values can't be negative"))
                             }
-                        })?,
-                ),
+                        })?
+                }
                 _ => (),
             }
         }
@@ -212,7 +211,7 @@ impl Filter for GaussianBlur {
             .add_input(&input)
             .into_irect(draw_ctx);
 
-        let (std_x, std_y) = self.std_deviation.get();
+        let (std_x, std_y) = self.std_deviation;
         let (std_x, std_y) = ctx.paffine().transform_distance(std_x, std_y);
 
         // The deviation can become negative here due to the transform.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]