summaryrefslogtreecommitdiffstats
path: root/src/object/box3d-side.cpp
diff options
context:
space:
mode:
authorJabier Arraiza <jabier.arraiza@marker.es>2018-09-29 17:38:18 +0000
committerJabier Arraiza <jabier.arraiza@marker.es>2018-09-29 17:38:18 +0000
commitb5b69ed38101efb51632b9c7ad4a25a5b13ca98c (patch)
treed9abc106c62b06bdf5fd422317b08b3288475b0b /src/object/box3d-side.cpp
parentCI/AppVeyor: Escape from DLL hell (diff)
downloadinkscape-b5b69ed38101efb51632b9c7ad4a25a5b13ca98c.tar.gz
inkscape-b5b69ed38101efb51632b9c7ad4a25a5b13ca98c.zip
Fix for bug: #1791784 LPE path effect undo does not work
Diffstat (limited to 'src/object/box3d-side.cpp')
-rw-r--r--src/object/box3d-side.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/object/box3d-side.cpp b/src/object/box3d-side.cpp
index d3ea2c890..f90b3e9ff 100644
--- a/src/object/box3d-side.cpp
+++ b/src/object/box3d-side.cpp
@@ -194,16 +194,21 @@ void Box3DSide::set_shape() {
/* Reset the shape's curve to the "original_curve"
* This is very important for LPEs to work properly! (the bbox might be recalculated depending on the curve in shape)*/
SPCurve * before = this->getCurveBeforeLPE();
- if (before || this->hasPathEffectRecursive()) {
+ bool haslpe = this->hasPathEffectOnClipOrMaskRecursive(this);
+ if (before || haslpe) {
if (c && before && before->get_pathvector() != c->get_pathvector()){
this->setCurveBeforeLPE(c);
sp_lpe_item_update_patheffect(this, true, false);
- } else {
+ } else if(haslpe) {
this->setCurveBeforeLPE(c);
+ } else {
+ //This happends on undo, fix bug:#1791784
+ this->setCurveInsync(c);
}
} else {
this->setCurveInsync(c);
}
+
if (before) {
before->unref();
}