diff --git a/AlgebraicDataflowArchitectureModel/src/application/editor/stages/ControlFlowModelingStage.java b/AlgebraicDataflowArchitectureModel/src/application/editor/stages/ControlFlowModelingStage.java index 1b4bb9a..f76e1a6 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/editor/stages/ControlFlowModelingStage.java +++ b/AlgebraicDataflowArchitectureModel/src/application/editor/stages/ControlFlowModelingStage.java @@ -732,9 +732,8 @@ if (srcResNode instanceof ResourceNode) { graph.insertEdge(parent, null, callEdgeAttr, srcNodeCell, dstNodeCell, "movable=false;"); - } - // イベントチャンネルはoutPortのセルの座標を参照. - else if (srcResNode instanceof EventChannelObjectNode) { + } else if (srcResNode != null) { + // イベントチャンネルは出力ポートのセルの座標を参照 graph.insertEdge(parent, null, callEdgeAttr, srcOutPortCell, dstNodeCell, "movable=false;"); } } @@ -749,10 +748,10 @@ * @return The LCA cell or null */ private mxCell getLCA(mxCell c1, mxCell c2) { - List p1 = getPathToRoot(c1); - List p2 = getPathToRoot(c2); - for (mxCell p : p1) { - if (p2.contains(p)) return p; + List path0 = getPathToRoot(c1); + List path1 = getPathToRoot(c2); + for (mxCell path : path0) { + if (path1.contains(path)) return path; } return null; }