From 7e2bb19d55ea0e1f8fe7bb3ed5df198b23953dd9 Mon Sep 17 00:00:00 2001 From: joncruz Date: Thu, 5 Mar 2009 06:20:24 +0000 Subject: [PATCH] Control when shift affects moving of handles. Applies patch from bug #245698. --- src/nodepath.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/nodepath.cpp b/src/nodepath.cpp index a880baba2..bd8dffc4e 100644 --- a/src/nodepath.cpp +++ b/src/nodepath.cpp @@ -4055,8 +4055,8 @@ static void node_handle_moved(SPKnot *knot, Geom::Point const &p, guint state, g rnew.r = me->origin_radial.r; } - if (( n->type !=Inkscape::NodePath::NODE_CUSP || (state & GDK_SHIFT_MASK)) - && rme.a != HUGE_VAL && rnew.a != HUGE_VAL && (fabs(rme.a - rnew.a) > 0.001 || n->type ==Inkscape::NodePath::NODE_SYMM)) { + if (( n->type !=Inkscape::NodePath::NODE_CUSP || (!n->dragging_out && (state & GDK_SHIFT_MASK))) + && (rme.a != HUGE_VAL) && (rnew.a != HUGE_VAL) && ((fabs(rme.a - rnew.a) > 0.001) || (n->type ==Inkscape::NodePath::NODE_SYMM))) { // rotate the other handle correspondingly, if both old and new angles exist and are not the same rother.a += rnew.a - rme.a; other->pos = Geom::Point(rother) + n->pos; -- 2.30.2