summaryrefslogtreecommitdiffstats
path: root/src/object/box3d-side.cpp
diff options
context:
space:
mode:
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();
}