Code

fix 1695287
authorbuliabyak <buliabyak@users.sourceforge.net>
Fri, 6 Apr 2007 05:52:59 +0000 (05:52 +0000)
committerbuliabyak <buliabyak@users.sourceforge.net>
Fri, 6 Apr 2007 05:52:59 +0000 (05:52 +0000)
src/sp-gradient.cpp

index 4fd2212250d5849c2e50ffbc108d1557f9bd426e..d5a733b4ff4c452b796e2508c928116ec2d533b0 100644 (file)
@@ -208,6 +208,12 @@ sp_stop_write(SPObject *object, Inkscape::XML::Node *repr, guint flags)
         repr = xml_doc->createElement("svg:stop");
     }
 
+    if (((SPObjectClass *) stop_parent_class)->write)
+        (* ((SPObjectClass *) stop_parent_class)->write)(object, repr, flags);
+
+    // Since we do a hackish style setting here (because SPStyle does not support stop-color and
+    // stop-opacity), we must do it AFTER calling the parent write method; otherwise
+    // sp_object_write would clear our style= attribute (bug 1695287)
 
     Inkscape::CSSOStringStream os;
     os << "stop-color:";
@@ -226,9 +232,6 @@ sp_stop_write(SPObject *object, Inkscape::XML::Node *repr, guint flags)
     /* strictly speaking, offset an SVG <number> rather than a CSS one, but exponents make no sense
      * for offset proportions. */
 
-    if (((SPObjectClass *) stop_parent_class)->write)
-        (* ((SPObjectClass *) stop_parent_class)->write)(object, repr, flags);
-
     return repr;
 }