[librsvg] marker: remove special casing of display property



commit 29fba2b32c7294ff0c2a67b70323c66aec3f5912
Author: Paolo Borelli <pborelli gnome org>
Date:   Wed Apr 15 19:43:35 2020 +0200

    marker: remove special casing of display property
    
    This is not really needed, the codepath that draws markers
    goes through its own flow. Beside we were overriding
    the property before cascading, so the code does not really
    work.
    
    Fixes https://gitlab.gnome.org/GNOME/librsvg/-/issues/587

 rsvg_internals/src/element.rs | 15 ---------------
 rsvg_internals/src/marker.rs  |  9 +--------
 2 files changed, 1 insertion(+), 23 deletions(-)
---
diff --git a/rsvg_internals/src/element.rs b/rsvg_internals/src/element.rs
index 2b306f0c..15159ff3 100644
--- a/rsvg_internals/src/element.rs
+++ b/rsvg_internals/src/element.rs
@@ -86,10 +86,6 @@ pub trait ElementTrait {
         Ok(())
     }
 
-    /// Sets any special-cased properties that the element may have, that are different
-    /// from defaults in the element's `SpecifiedValues`.
-    fn set_overridden_properties(&self, _values: &mut SpecifiedValues) {}
-
     fn draw(
         &self,
         _node: &Node,
@@ -243,11 +239,6 @@ impl<T: ElementTrait> ElementInner<T> {
         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
     fn apply_style_declaration(&mut self, declaration: &Declaration, origin: Origin) {
         self.specified_values.set_property_from_declaration(
@@ -519,10 +510,6 @@ impl Element {
         call_inner!(self, set_element_specific_attributes, pbag)
     }
 
-    fn set_overridden_properties(&mut self) {
-        call_inner!(self, set_overridden_properties)
-    }
-
     pub fn apply_style_declaration(&mut self, declaration: &Declaration, origin: Origin) {
         call_inner!(self, apply_style_declaration, declaration, origin)
     }
@@ -858,8 +845,6 @@ pub fn create_element(name: &QualName, pbag: &PropertyBag) -> Element {
         element.set_error(e);
     }
 
-    element.set_overridden_properties();
-
     element
 }
 
diff --git a/rsvg_internals/src/marker.rs b/rsvg_internals/src/marker.rs
index 24f51387..1056d46c 100644
--- a/rsvg_internals/src/marker.rs
+++ b/rsvg_internals/src/marker.rs
@@ -20,7 +20,7 @@ use crate::length::*;
 use crate::node::{CascadedValues, Node, NodeBorrow, NodeDraw};
 use crate::parsers::{Parse, ParseValue};
 use crate::path_builder::{arc_segment, ArcParameterization, CubicBezierCurve, Path, PathCommand};
-use crate::properties::{ComputedValues, ParsedProperty, SpecifiedValue, SpecifiedValues};
+use crate::properties::ComputedValues;
 use crate::property_bag::PropertyBag;
 use crate::rect::Rect;
 use crate::transform::Transform;
@@ -199,13 +199,6 @@ impl ElementTrait for Marker {
 
         Ok(())
     }
-
-    fn set_overridden_properties(&self, values: &mut SpecifiedValues) {
-        // markers are always displayed, even if <marker> or its ancestors are display:none
-        values.set_parsed_property(&ParsedProperty::Display(SpecifiedValue::Specified(
-            Default::default(),
-        )));
-    }
 }
 
 // Machinery to figure out marker orientations


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