From 13149afcd22fd7d289acd737d4ccb48a02a182a6 Mon Sep 17 00:00:00 2001 From: cilix42 Date: Mon, 18 Aug 2008 00:38:54 +0000 Subject: [PATCH] Use the visible curve (instead of original curve when a LPE is applied) for testing whether we are over stroke; TODO: we must check whether this is also the right thing to do in all other circumstanced (e.g., when editing in node tool) --- src/shape-editor.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/shape-editor.cpp b/src/shape-editor.cpp index 3575d3405..b26b117ca 100644 --- a/src/shape-editor.cpp +++ b/src/shape-editor.cpp @@ -30,6 +30,7 @@ #include "style.h" #include "display/curve.h" #include <2geom/pathvector.h> +#include "sp-shape.h" #include "shape-editor.h" @@ -351,7 +352,12 @@ bool ShapeEditor::is_over_stroke (NR::Point event_p, bool remember) { this->curvepoint_doc = desktop->w2d(event_p); this->curvepoint_doc *= sp_item_dt2i_affine(item); - SPCurve *curve = this->nodepath->curve; // not sure if np->curve is always up to date... + SPCurve *curve; + if (SP_IS_SHAPE(item)) { + curve = sp_shape_get_curve(SP_SHAPE(item)); + } else { + this->nodepath->curve; // not sure if np->curve is always up to date... + } Geom::PathVector const &pathv = curve->get_pathvector(); Geom::PathVectorPosition pvpos = Geom::nearestPoint(pathv, this->curvepoint_doc); -- 2.30.2