Agedgepair_t fwdedge;
edge_t *e;
#endif
- int j, i, r;
+ int j, i, r, isAdjacent;
double stepx, stepy, vspace;
int tside, hside, pn;
pointf *ps;
/* Get sample edge; normalize to go from left to right */
e = edges[ind];
+ isAdjacent = ED_adjacent(e);
if (ED_tree_index(e) & BWDEDGE) {
#ifndef WITH_CGRAPH
MAKEFWDEDGE(&fwdedge, e);
e = &fwdedge.out;
#endif
}
- if (ED_adjacent(edges[ind])) {
+ for (i = 1; i < cnt; i++) {
+ if (ED_adjacent(edges[ind+i])) {
+ isAdjacent = 1;
+ break;
+ }
+ }
+ /* The lead edge edges[ind] might not have been marked earlier as adjacent,
+ * so check them all.
+ */
+ if (isAdjacent) {
make_flat_adj_edges (P, edges, ind, cnt, e, et);
return;
}