diff --git a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java index e1cc9436..05512279 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java +++ b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java @@ -1359,7 +1359,17 @@ public class Presenter implements IPlugInPort { // Validate if moving can be done. for (Map.Entry, Set> entry : controlPointMap.entrySet()) { + // check if a component already has overlapping points because of a previous error, in that case skip it + boolean skip = false; IDIYComponent component = entry.getKey(); + for (int i = 0; i < component.getControlPointCount() - 1 && !skip; i++) + for (int j = i + 1; j < component.getControlPointCount() && !skip; j++) + if (component.getControlPoint(i).equals(component.getControlPoint(j))) + skip = true; + + if (skip) + continue; + Point2D[] controlPoints = new Point2D[component.getControlPointCount()]; for (int index = 0; index < component.getControlPointCount(); index++) { Point2D p = component.getControlPoint(index); diff --git a/diylc/diylc-core/src/org/diylc/presenter/update.xml b/diylc/diylc-core/src/org/diylc/presenter/update.xml index 823bafdd..1b268285 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/update.xml +++ b/diylc/diylc-core/src/org/diylc/presenter/update.xml @@ -3301,6 +3301,10 @@ IMPROVEMENT Do not allow for components like traces, jumpers and wires to be reduced to nothing by dragging connected components + + + IMPROVEMENT + In cases when there's already a component in the selection that is reduced to nothing, allow moving the selection https://github.com/bancika/diy-layout-creator/releases