diff --git a/diylc/diylc-core/src/org/diylc/presenter/update.xml b/diylc/diylc-core/src/org/diylc/presenter/update.xml
index 44967d36..f38b370f 100644
--- a/diylc/diylc-core/src/org/diylc/presenter/update.xml
+++ b/diylc/diylc-core/src/org/diylc/presenter/update.xml
@@ -2738,6 +2738,10 @@
BUG_FIX
Hide the 3rd control point for components that do not need it (Trace, Jumper, Line)
+
+ BUG_FIX
+ Threads on 1/4" Closed Jack were not rendered at all
+
https://github.com/bancika/diy-layout-creator/releases
diff --git a/diylc/diylc-library/src/org/diylc/components/AbstractMultiPartComponent.java b/diylc/diylc-library/src/org/diylc/components/AbstractMultiPartComponent.java
index 68e23754..5064967e 100644
--- a/diylc/diylc-library/src/org/diylc/components/AbstractMultiPartComponent.java
+++ b/diylc/diylc-library/src/org/diylc/components/AbstractMultiPartComponent.java
@@ -1,6 +1,7 @@
package org.diylc.components;
import java.awt.Graphics2D;
+import java.awt.Shape;
import java.awt.geom.Area;
import org.diylc.common.ObjectCache;
@@ -13,7 +14,7 @@ public abstract class AbstractMultiPartComponent extends AbstractTransparentC
private static final long serialVersionUID = 1L;
- public abstract Area[] getBody();
+ public abstract Shape[] getBody();
public void drawSelectionOutline(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project,
IDrawingObserver drawingObserver) {
@@ -25,11 +26,11 @@ public abstract class AbstractMultiPartComponent extends AbstractTransparentC
}
public Area getBodyOutline() {
- Area[] body = getBody();
+ Shape[] body = getBody();
Area outline = new Area();
- for (Area b : body)
- if (b != null)
- outline.add(b);
+ for (Shape b : body)
+ if (b != null && b instanceof Area)
+ outline.add((Area)b);
return outline;
}
}
diff --git a/diylc/diylc-library/src/org/diylc/components/electromechanical/ClosedJack1_4.java b/diylc/diylc-library/src/org/diylc/components/electromechanical/ClosedJack1_4.java
index 403f841b..9ad98fc9 100644
--- a/diylc/diylc-library/src/org/diylc/components/electromechanical/ClosedJack1_4.java
+++ b/diylc/diylc-library/src/org/diylc/components/electromechanical/ClosedJack1_4.java
@@ -77,7 +77,7 @@ public class ClosedJack1_4 extends AbstractMultiPartComponent {
private Point[] controlPoints = new Point[] {new Point(0, 0)};
private JackType type = JackType.MONO;
private Orientation orientation = Orientation.DEFAULT;
- transient private Area[] body;
+ transient private Shape[] body;
private String value = "";
public ClosedJack1_4() {
@@ -130,9 +130,9 @@ public class ClosedJack1_4 extends AbstractMultiPartComponent {
return angle;
}
- public Area[] getBody() {
+ public Shape[] getBody() {
if (body == null) {
- body = new Area[5];
+ body = new Shape[5];
// Create body.
int x = controlPoints[0].x;
@@ -169,9 +169,9 @@ public class ClosedJack1_4 extends AbstractMultiPartComponent {
}
path.lineTo(p.x, p.y);
}
- Area pathArea = new Area(path);
- pathArea.intersect(shaft);
- body[2] = new Area(path);
+// Area pathArea = new Area(path);
+// pathArea.intersect(shaft);
+ body[2] = path;
// Create lugs.
Area lugs = new Area();
@@ -245,7 +245,7 @@ public class ClosedJack1_4 extends AbstractMultiPartComponent {
g2d.draw(body[1]);
if (!outlineMode) {
g2d.setColor(SHAFT_COLOR.darker());
- g2d.fill(body[2]);
+// g2d.fill(body[2]);
g2d.draw(body[2]);
}
diff --git a/diylc/diylc-swing/library/main.jar b/diylc/diylc-swing/library/main.jar
index 6d464977..5bfde7a9 100644
Binary files a/diylc/diylc-swing/library/main.jar and b/diylc/diylc-swing/library/main.jar differ