From 66992b1284744a1fb0fb30220fd0966b6a26ff3b Mon Sep 17 00:00:00 2001 From: Ludovic Apvrille <ludovic.apvrille@telecom-paris.fr> Date: Wed, 19 Jun 2024 10:07:45 +0200 Subject: [PATCH] Solving bug on avatar drawing null pointer exception --- src/main/java/ui/AvatarPanelDrawer.java | 40 ++++++++++++++----------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/src/main/java/ui/AvatarPanelDrawer.java b/src/main/java/ui/AvatarPanelDrawer.java index 176e17608a..f395369557 100644 --- a/src/main/java/ui/AvatarPanelDrawer.java +++ b/src/main/java/ui/AvatarPanelDrawer.java @@ -227,19 +227,21 @@ public class AvatarPanelDrawer { TGConnectingPoint p1 = null, p2 = null; - if ((ar.getReferenceObject() instanceof AvatarBDPortConnector) && (ar.getOtherReferenceObjects().size() > 1)) { - //TraceManager.addDev("*----* Found reference objects before / after port connector"); - AvatarBDPortConnector connOld = (AvatarBDPortConnector) (ar.getReferenceObject()); - if ((ar.getOtherReferenceObjects().get(0) instanceof TGComponent) && (ar.getOtherReferenceObjects().get(1) instanceof TGComponent)) { - TGComponent tgc1 = (TGComponent) (ar.getOtherReferenceObjects().get(0)); - TGComponent tgc2 = (TGComponent) (ar.getOtherReferenceObjects().get(1)); - - int index1 = tgc1.getIndexOfTGConnectingPoint(connOld.getTGConnectingPointP1()); - int index2 = tgc2.getIndexOfTGConnectingPoint(connOld.getTGConnectingPointP2()); - - if ((index1 != -1) && (index2 != -1)) { - p1 = b1.getFreeTGConnectingPoint(index1); - p2 = b2.getFreeTGConnectingPoint(index2); + if (ar.getOtherReferenceObjects() != null) { + if ((ar.getReferenceObject() instanceof AvatarBDPortConnector) && (ar.getOtherReferenceObjects().size() > 1)) { + //TraceManager.addDev("*----* Found reference objects before / after port connector"); + AvatarBDPortConnector connOld = (AvatarBDPortConnector) (ar.getReferenceObject()); + if ((ar.getOtherReferenceObjects().get(0) instanceof TGComponent) && (ar.getOtherReferenceObjects().get(1) instanceof TGComponent)) { + TGComponent tgc1 = (TGComponent) (ar.getOtherReferenceObjects().get(0)); + TGComponent tgc2 = (TGComponent) (ar.getOtherReferenceObjects().get(1)); + + int index1 = tgc1.getIndexOfTGConnectingPoint(connOld.getTGConnectingPointP1()); + int index2 = tgc2.getIndexOfTGConnectingPoint(connOld.getTGConnectingPointP2()); + + if ((index1 != -1) && (index2 != -1)) { + p1 = b1.getFreeTGConnectingPoint(index1); + p2 = b2.getFreeTGConnectingPoint(index2); + } } } } @@ -260,11 +262,13 @@ public class AvatarPanelDrawer { points.add(p); }*/ - for (int i = 0; i < ar.getOtherReferenceObjects().size(); i++) { - Object o = ar.getOtherReferenceObjects().get(i); - if (o instanceof TGCPointOfConnector) { - TGCPointOfConnector op = (TGCPointOfConnector) o; - points.add(new Point(op.getX(), op.getY())); + if (ar.getOtherReferenceObjects() != null) { + for (int i = 0; i < ar.getOtherReferenceObjects().size(); i++) { + Object o = ar.getOtherReferenceObjects().get(i); + if (o instanceof TGCPointOfConnector) { + TGCPointOfConnector op = (TGCPointOfConnector) o; + points.add(new Point(op.getX(), op.getY())); + } } } -- GitLab