summaryrefslogtreecommitdiffstats
path: root/src/sp-path.cpp
diff options
context:
space:
mode:
authorLiam P. White <inkscapebrony@gmail.com>2014-07-28 21:30:16 +0000
committerLiam P. White <inkscapebrony@gmail.com>2014-07-28 21:30:16 +0000
commitae3b6608ecb46d6a71f6de95768aa0ed72e2dc08 (patch)
treefa1b482730b1fa3bc8d5111b5fdfa16a9adc2cf3 /src/sp-path.cpp
parentFix for copy&paste clone original with clip-path/mask (diff)
downloadinkscape-ae3b6608ecb46d6a71f6de95768aa0ed72e2dc08.tar.gz
inkscape-ae3b6608ecb46d6a71f6de95768aa0ed72e2dc08.zip
Don't update path effects on document load (#1299948)
Fixed bugs: - https://launchpad.net/bugs/1299948 (bzr r13479)
Diffstat (limited to '')
-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);