[librsvg] element: encapsluate access to element_impl



commit 22c0169801c5caafe5ce8b078ec3e58af134780e
Author: Paolo Borelli <pborelli gnome org>
Date:   Sat Apr 4 13:01:00 2020 +0200

    element: encapsluate access to element_impl

 rsvg_internals/src/element.rs | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)
---
diff --git a/rsvg_internals/src/element.rs b/rsvg_internals/src/element.rs
index c142fab4..f547c099 100644
--- a/rsvg_internals/src/element.rs
+++ b/rsvg_internals/src/element.rs
@@ -313,6 +313,18 @@ impl Element {
         }
     }
 
+    fn set_element_specific_attributes(
+        &mut self,
+        pbag: &PropertyBag<'_>,
+    ) -> Result<(), ElementError> {
+        self.element_impl.set_atts(pbag)
+    }
+
+    fn set_overridden_properties(&mut self) {
+        self.element_impl
+            .set_overridden_properties(&mut self.specified_values);
+    }
+
     // Applies a style declaration to the node's specified_values
     pub fn apply_style_declaration(&mut self, declaration: &Declaration, origin: Origin) {
         self.specified_values.set_property_from_declaration(
@@ -633,15 +645,13 @@ pub fn create_element(name: &QualName, pbag: &PropertyBag) -> Element {
         .and_then(|_| {
             element.set_conditional_processing_attributes(pbag, &locale_from_environment())
         })
-        .and_then(|_| element.element_impl.set_atts(pbag))
+        .and_then(|_| element.set_element_specific_attributes(pbag))
         .and_then(|_| element.set_presentation_attributes(pbag))
     {
         element.set_error(e);
     }
 
-    element
-        .element_impl
-        .set_overridden_properties(&mut element.specified_values);
+    element.set_overridden_properties();
 
     element
 }


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