summaryrefslogtreecommitdiffstats
path: root/src/sp-path.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sp-path.cpp')
-rw-r--r--src/sp-path.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/sp-path.cpp b/src/sp-path.cpp
index cbb61b0f6..5bb7bf548 100644
--- a/src/sp-path.cpp
+++ b/src/sp-path.cpp
@@ -140,7 +140,21 @@ void SPPath::build(SPDocument *document, Inkscape::XML::Node *repr) {
SPShape::build(document, repr);
- this->readAttr( "inkscape:original-d" );
+ // this->readAttr( "inkscape:original-d" ); // lp1299948
+ if ((gchar const* s = this->getRepr()->attribute("inkscape:original-d")))
+ {
+ // write it to XML, and to my curve, but don't update patheffects
+ Geom::PathVector pv = sp_svg_read_pathv(s);
+ SPCurve *curve = new SPCurve(pv);
+
+ if (_curve_before_lpe) {
+ _curve_before_lpe = _curve_before_lpe->unref();
+ }
+
+ if (curve) {
+ _curve_before_lpe = curve->ref();
+ }
+ }
this->readAttr( "d" );
/* d is a required attribute */
@@ -314,7 +328,6 @@ g_message("sp_path_update_patheffect");
#ifdef PATH_VERBOSE
g_message("sp_path_update_patheffect writes 'd' attribute");
#endif
-
if (_curve) {
gchar *str = sp_svg_write_path(this->_curve->get_pathvector());
repr->setAttribute("d", str);