From f4c59e50df9090a1a4801da06f9a0021b67ce7a2 Mon Sep 17 00:00:00 2001 From: Diederik van Lierop Date: Sat, 8 Oct 2011 22:00:37 +0200 Subject: 1) make snapping to clip/mask paths optional (see document properties dialog -> snap tab) 2) for debugging purposes: code added for showing all snap candidates 3) groundwork for tangential/perpendicular snapping (bzr r10672) --- src/pencil-context.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/pencil-context.cpp') diff --git a/src/pencil-context.cpp b/src/pencil-context.cpp index d823c1daa..d67833a91 100644 --- a/src/pencil-context.cpp +++ b/src/pencil-context.cpp @@ -166,12 +166,15 @@ static void spdc_endpoint_snap(SPPencilContext const *pc, Geom::Point &p, guint const state) { if ((state & GDK_CONTROL_MASK)) { //CTRL enables constrained snapping - spdc_endpoint_snap_rotation(pc, p, pc->p[0], state); + if (pc->npoints > 0) { + spdc_endpoint_snap_rotation(pc, p, pc->p[0], state); + } } else { if (!(state & GDK_SHIFT_MASK)) { //SHIFT disables all snapping, except the angular snapping above //After all, the user explicitely asked for angular snapping by //pressing CTRL - spdc_endpoint_snap_free(pc, p, state); + boost::optional origin = pc->npoints > 0 ? pc->p[0] : boost::optional(); + spdc_endpoint_snap_free(pc, p, origin, state); } } } -- cgit v1.2.3