summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/display/curve.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/display/curve.cpp b/src/display/curve.cpp
index 7d7dbc987..7c3c3d480 100644
--- a/src/display/curve.cpp
+++ b/src/display/curve.cpp
@@ -285,7 +285,11 @@ SPCurve::closepath()
void
SPCurve::closepath_current()
{
- _pathv.back().setFinal(_pathv.back().initialPoint());
+ if (_pathv.back().size() > 0 && dynamic_cast<Geom::LineSegment const *>(&_pathv.back().back_open())) {
+ _pathv.back().erase_last();
+ } else {
+ _pathv.back().setFinal(_pathv.back().initialPoint());
+ }
_pathv.back().close(true);
}