diff options
| -rw-r--r-- | src/pen-context.cpp | 4 | ||||
| -rw-r--r-- | src/ui/tool/multi-path-manipulator.cpp | 11 |
2 files changed, 13 insertions, 2 deletions
diff --git a/src/pen-context.cpp b/src/pen-context.cpp index bc57fc603..a5b79cf82 100644 --- a/src/pen-context.cpp +++ b/src/pen-context.cpp @@ -2225,7 +2225,9 @@ static void spdc_pen_finish(SPPenContext *const pc, gboolean const closed) } pc->num_clicks = 0; - + if(pc->spiro || pc->bspline){ + saShift = false; + } pen_disable_events(pc); SPDesktop *const desktop = pc->desktop; diff --git a/src/ui/tool/multi-path-manipulator.cpp b/src/ui/tool/multi-path-manipulator.cpp index 1f074c8da..c9e35e5b2 100644 --- a/src/ui/tool/multi-path-manipulator.cpp +++ b/src/ui/tool/multi-path-manipulator.cpp @@ -671,7 +671,16 @@ bool MultiPathManipulator::event(SPEventContext *event_context, GdkEvent *event) // a) del preserves shape, and control is not pressed // b) ctrl+del preserves shape (del_preserves_shape is false), and control is pressed // Hence xor - deleteNodes(del_preserves_shape ^ held_control(event->key)); + guint mode = prefs->getInt("/tools/freehand/pen/freehand-mode", 0); + if(mode==2){ + if(del_preserves_shape ^ held_control(event->key)) + deleteNodes(false); + else + deleteNodes(true); + } + else + //BSpline end + deleteNodes(del_preserves_shape ^ held_control(event->key)); // Delete any selected gradient nodes as well event_context->deleteSelectedDrag(held_control(event->key)); |
