Fix allowing connecting lines with end points that are very close together

This commit is contained in:
DD 2017-10-20 12:02:28 -04:00
parent 1c3d5d72f9
commit 70ff3b656f

View file

@ -149,19 +149,17 @@ class LineMode extends React.Component {
if (event.event.button > 0) return; // only first mouse button
// If I single clicked, don't do anything
if (!this.hitResult && // Might be connecting 2 points that are very close
(this.path.segments.length < 2 ||
(this.path.segments.length === 2 &&
touching(this.path.firstSegment.point, event.point, LineMode.SNAP_TOLERANCE)))) {
if (this.path.segments.length < 2 ||
(this.path.segments.length === 2 &&
touching(this.path.firstSegment.point, event.point, LineMode.SNAP_TOLERANCE) &&
!this.hitResult)) { // Let lines be short if you're connecting them
this.path.remove();
this.path = null;
return;
} else if (
// Single click on an existing path end point
touching(
this.path.lastSegment.point,
this.path.segments[this.path.segments.length - 2].point,
LineMode.SNAP_TOLERANCE)) {
} else if (!this.hitResult &&
touching(this.path.lastSegment.point, this.path.segments[this.path.segments.length - 2].point,
LineMode.SNAP_TOLERANCE)) {
// Single click or short drag on an existing path end point
this.path.removeSegment(this.path.segments.length - 1);
this.path = null;
return;