From: joncruz Date: Thu, 5 Mar 2009 06:20:24 +0000 (+0000) Subject: Control when shift affects moving of handles. Applies patch from bug #245698. X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=7e2bb19d55ea0e1f8fe7bb3ed5df198b23953dd9;p=inkscape.git Control when shift affects moving of handles. Applies patch from bug #245698. --- 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;