From 0659728fce99e2f7abfe52bebf59b26b077512b4 Mon Sep 17 00:00:00 2001 From: scislac Date: Thu, 8 Oct 2009 21:25:50 +0000 Subject: [PATCH] Patch by Johan to fix 365903. --- src/live_effects/lpe-knot.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/live_effects/lpe-knot.cpp b/src/live_effects/lpe-knot.cpp index 793061b2f..340cdf633 100644 --- a/src/live_effects/lpe-knot.cpp +++ b/src/live_effects/lpe-knot.cpp @@ -10,6 +10,7 @@ */ #include "sp-shape.h" +#include "sp-path.h" #include "display/curve.h" #include "live_effects/lpe-knot.h" #include "svg/svg.h" @@ -25,6 +26,10 @@ #include <2geom/basic-intersection.h> #include <2geom/exception.h> +// for change crossing undo +#include "verbs.h" +#include "document.h" + #include namespace Inkscape { @@ -486,7 +491,12 @@ void collectPathsAndWidths (SPLPEItem const *lpeitem, std::vector &p } } else if (SP_IS_SHAPE(lpeitem)) { - SPCurve * c = sp_shape_get_curve(SP_SHAPE(lpeitem)); + SPCurve * c = NULL; + if (SP_IS_PATH(lpeitem)) { + c = sp_path_get_curve_for_edit(SP_PATH(lpeitem)); + } else { + c = sp_shape_get_curve(SP_SHAPE(lpeitem)); + } if (c) { Geom::PathVector subpaths = c->get_pathvector(); for (unsigned i=0; icrossing_points[s].sign<<".\n"; } lpe->crossing_points_vector.param_set_and_write_new_value(lpe->crossing_points.to_vector()); + sp_document_done(lpe->getSPDoc(), SP_VERB_DIALOG_LIVE_PATH_EFFECT, /// @todo Is this the right verb? + _("Change knot crossing")); // FIXME: this should not directly ask for updating the item. It should write to SVG, which triggers updating. - sp_lpe_item_update_patheffect (SP_LPE_ITEM(item), false, true); +// sp_lpe_item_update_patheffect (SP_LPE_ITEM(item), false, true); } } -- 2.30.2