Index: trunk/src/plugins/rt_topo/crbs.c =================================================================== --- trunk/src/plugins/rt_topo/crbs.c (revision 1368) +++ trunk/src/plugins/rt_topo/crbs.c (revision 1369) @@ -51,7 +51,7 @@ coll_ctn->coll = 1; } -static grbs_2net_t *crbs_coll_check_arc_cb(grbs_t *grbs, grbs_2net_t *tn, grbs_arc_t *arc) +static grbs_2net_t *crbs_coll_check_arc_cb(grbs_t *grbs, grbs_2net_t *tn, grbs_arc_t *arc, int new) { crbs_point_t *pt = arc->parent_pt->user_data; @@ -66,8 +66,14 @@ else abort(); /*printf(" (ACHK ang=%f arc=%f->%f) ", ang, arc->new_sa, arc->new_da);*/ - if (grbs_angle_in_arc(arc->new_sa, arc->new_da, ang, 1)) - return &tn_unknown; + if (new) { + if (grbs_angle_in_arc(arc->new_sa, arc->new_da, ang, 1)) + return &tn_unknown; + } + else { + if (grbs_angle_in_arc(arc->sa, arc->da, ang, 1)) + return &tn_unknown; + } } } EDGELIST_FOREACH_END();