diff --git a/src/live_effects/effect.cpp b/src/live_effects/effect.cpp index 785f081ae2901670be3d4a35a720f7380bc931c9..57f35efa5df139d5b6cce4cc98f723a51f8d1475 100644 --- a/src/live_effects/effect.cpp +++ b/src/live_effects/effect.cpp @@ -1297,11 +1297,17 @@ void Effect::doOnApply_impl(SPLPEItem const* lpeitem) { sp_lpe_item = const_cast(lpeitem); is_applied = true; + // we can override "lpeversion" value in each LPE using doOnApply + // this allow to handle legacy LPE and some times update to newest definitions + // In BBB Martin, Mc and Jabiertxof make decission + // of only update this value per each LPE when changes. + // and use the Inkscape release version that has this new LPE change + // LPE without lpeversion are created in a inkscape lower than 1.0 + lpeversion.param_setValue("1", true); doOnApply(lpeitem); setReady(); has_exception = false; - lpeversion.param_setValue("1", true); // we can override this value in each LPE to major versions I dont want to - // repeat inkscape versioning + } void Effect::doBeforeEffect_impl(SPLPEItem const* lpeitem) diff --git a/src/live_effects/lpe-mirror_symmetry.cpp b/src/live_effects/lpe-mirror_symmetry.cpp index 080fa1dafff18e02ad1c3c84696f177a03f44d5b..38df0af5d4efc43ac70d0274b15889689554914e 100644 --- a/src/live_effects/lpe-mirror_symmetry.cpp +++ b/src/live_effects/lpe-mirror_symmetry.cpp @@ -432,6 +432,7 @@ LPEMirrorSymmetry::doOnApply (SPLPEItem const* lpeitem) end_point.param_update_default(point_b); center_point.param_setValue(point_c, true); previous_center = center_point; + lpeversion.param_setValue("1.0.2", true); } @@ -558,6 +559,9 @@ LPEMirrorSymmetry::doEffect_path (Geom::PathVector const & path_in) } } } + if (lpeversion.param_getSVGValue() > "1.0.1" && original.closed() && !tmp_pathvector[0].closed()) { + tmp_pathvector[0].close(); + } if (cs.size() == 0 && position == 1) { tmp_pathvector.push_back(original); tmp_pathvector.push_back(original * m);