From ae3b6608ecb46d6a71f6de95768aa0ed72e2dc08 Mon Sep 17 00:00:00 2001 From: "Liam P. White" Date: Mon, 28 Jul 2014 17:30:16 -0400 Subject: Don't update path effects on document load (#1299948) Fixed bugs: - https://launchpad.net/bugs/1299948 (bzr r13479) --- src/sp-path.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'src/sp-path.cpp') 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); -- cgit v1.2.3