summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNathan Lee <2431820-nathanal@users.noreply.gitlab.com>2019-06-07 12:19:40 +0000
committerThomas Holder <thomas@thomas-holder.de>2019-06-17 21:31:11 +0000
commit47f95bef1d9fee5d586ab3bb077133bcb9aedbd4 (patch)
tree3435fb00aba626119c2e089b7672230aad1b5c58 /src
parentFix rounding error issues with 'pt' line-height values that prvent using mous... (diff)
downloadinkscape-47f95bef1d9fee5d586ab3bb077133bcb9aedbd4.tar.gz
inkscape-47f95bef1d9fee5d586ab3bb077133bcb9aedbd4.zip
Sync pen toolbar mode change with tool
Reverts a previous fix that did this but caused https://gitlab.com/inkscape/inkscape/issues/282 where the pen tool's green preview line vanished when deleting the last node with the pen tool.
Diffstat (limited to 'src')
-rw-r--r--src/ui/toolbar/pencil-toolbar.cpp3
-rw-r--r--src/ui/tools/pen-tool.cpp3
2 files changed, 4 insertions, 2 deletions
diff --git a/src/ui/toolbar/pencil-toolbar.cpp b/src/ui/toolbar/pencil-toolbar.cpp
index e781bf3bb..5d7fabe4a 100644
--- a/src/ui/toolbar/pencil-toolbar.cpp
+++ b/src/ui/toolbar/pencil-toolbar.cpp
@@ -252,6 +252,9 @@ PencilToolbar::mode_changed(int mode)
if (_simplify) {
_simplify->set_visible(visible);
}
+ if (tools_isactive(_desktop, TOOLS_FREEHAND_PEN)) {
+ SP_PEN_CONTEXT(_desktop->event_context)->setPolylineMode();
+ }
}
/* This is used in generic functions below to share large portions of code between pen and pencil tool */
diff --git a/src/ui/tools/pen-tool.cpp b/src/ui/tools/pen-tool.cpp
index 70ab0f8db..d17c0d772 100644
--- a/src/ui/tools/pen-tool.cpp
+++ b/src/ui/tools/pen-tool.cpp
@@ -429,7 +429,7 @@ bool PenTool::_handleButtonPress(GdkEventButton const &bevent) {
// This is allowed, if we just canceled curve
case PenTool::POINT:
if (this->npoints == 0) {
- this->setPolylineMode();
+ this->_bsplineSpiroColor();
Geom::Point p;
if ((bevent.state & GDK_CONTROL_MASK) && (this->polylines_only || this->polylines_paraxial)) {
p = event_dt;
@@ -508,7 +508,6 @@ bool PenTool::_handleButtonPress(GdkEventButton const &bevent) {
this->_setSubsequentPoint(p, true);
}
}
- this->_bsplineSpiroColor();
// avoid the creation of a control point so a node is created in the release event
this->state = (this->spiro || this->bspline || this->polylines_only) ? PenTool::POINT : PenTool::CONTROL;
ret = true;