From 3caca68b0db11093f970faeb14ac1fcae7efe917 Mon Sep 17 00:00:00 2001 From: Diederik van Lierop Date: Mon, 8 Feb 2010 21:39:21 +0100 Subject: [PATCH] Second attempt at fixing LP452174 (first node in freehand is ignored) --- src/pencil-context.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pencil-context.cpp b/src/pencil-context.cpp index f6bb82743..9f9c187f3 100644 --- a/src/pencil-context.cpp +++ b/src/pencil-context.cpp @@ -378,6 +378,13 @@ pencil_handle_motion_notify(SPPencilContext *const pc, GdkEventMotion const &mev } if ( pc->npoints != 0) { // buttonpress may have happened before we entered draw context! + if (pc->ps.size() == 0) { + // Only in freehand mode we have to add the first point also to pc->ps (apparently) + // - We cannot add this point in spdc_set_startpoint, because we only need it for freehand + // - We cannot do this in the button press handler because at that point we don't know yet + // wheter we're going into freehand mode or not + pc->ps.push_back(pc->p[0]); + } spdc_add_freehand_point(pc, p, mevent.state); ret = TRUE; } @@ -639,7 +646,6 @@ spdc_set_startpoint(SPPencilContext *const pc, Geom::Point const p) pc->red_curve_is_valid = false; if (in_svg_plane(p)) { pc->p[pc->npoints++] = p; - pc->ps.push_back(p); } } -- 2.30.2