summaryrefslogtreecommitdiffstats
path: root/src/sp-ellipse.cpp
diff options
context:
space:
mode:
authorJabiertxof <jtx@jtx>2017-01-01 14:02:26 +0000
committerJabiertxof <jtx@jtx>2017-01-01 14:02:26 +0000
commit57132e1d5f4729e2ea1abc2ef835f3962f6680b4 (patch)
tree369c9d944697c466c99a549b9456a805e0d47d76 /src/sp-ellipse.cpp
parentUpdate to trunk (diff)
parentUpdate to trunk (diff)
downloadinkscape-57132e1d5f4729e2ea1abc2ef835f3962f6680b4.tar.gz
inkscape-57132e1d5f4729e2ea1abc2ef835f3962f6680b4.zip
merge mirror improvements
(bzr r15295.1.41)
Diffstat (limited to 'src/sp-ellipse.cpp')
-rw-r--r--src/sp-ellipse.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/sp-ellipse.cpp b/src/sp-ellipse.cpp
index ed1e2b504..9589d6fce 100644
--- a/src/sp-ellipse.cpp
+++ b/src/sp-ellipse.cpp
@@ -445,11 +445,20 @@ void SPGenericEllipse::set_shape()
if (hasPathEffect() && pathEffectsEnabled()) {
SPCurve *c_lpe = curve->copy();
bool success = this->performPathEffect(c_lpe);
-
+
if (success) {
this->setCurveInsync(c_lpe, TRUE);
+ } else {
+ Inkscape::XML::Node *repr = this->getRepr();
+ if (gchar const * value = repr->attribute("d")) {
+ Geom::PathVector pv = sp_svg_read_pathv(value);
+ SPCurve *oldcurve = new (std::nothrow) SPCurve(pv);
+ if (oldcurve) {
+ this->setCurveInsync(oldcurve, TRUE);
+ oldcurve->unref();
+ }
+ }
}
-
c_lpe->unref();
}