Index: trunk/src_plugins/rbs_routing/map.c =================================================================== --- trunk/src_plugins/rbs_routing/map.c (revision 38765) +++ trunk/src_plugins/rbs_routing/map.c (revision 38766) @@ -226,6 +226,7 @@ return -8; *prevline = grbs_line_new(&rbs->grbs); (*prevline)->user_data = obj; + htpp_set(&rbs->robj2grbs, obj, *prevline); break; case PCB_OBJ_ARC: if ((prev != NULL) && (prev->o.any.type == PCB_OBJ_ARC)) @@ -243,6 +244,7 @@ a->user_data = obj; a->in_use = 1; + htpp_set(&rbs->robj2grbs, obj, a); bind_prev_line(rbs, prevarc, prevline, a); break; default: @@ -415,6 +417,7 @@ } htpp_init(&dst->term4incident, ptrhash, ptrkeyeq); + htpp_init(&dst->robj2grbs, ptrhash, ptrkeyeq); grbs_init(&dst->grbs); dst->pcb = pcb; dst->lid = lid; @@ -431,6 +434,7 @@ void rbsr_map_uninit(rbsr_map_t *dst) { htpp_uninit(&dst->term4incident); + htpp_uninit(&dst->robj2grbs); pcb_map_2nets_uninit(&dst->twonets); dst->pcb = NULL; dst->lid = -1; Index: trunk/src_plugins/rbs_routing/map.h =================================================================== --- trunk/src_plugins/rbs_routing/map.h (revision 38765) +++ trunk/src_plugins/rbs_routing/map.h (revision 38766) @@ -19,6 +19,7 @@ grbs_t grbs; htpp_t term4incident; /* key: pcb_any_obj_t *; value: grbs_point_t *; grbs point to use for incident lines string/ending at each terminal */ + htpp_t robj2grbs; /* key: pcb_any_obj_t *; value: grbs_arc_t * or grbs_line_t *; pcb-rnd routing object (line/arc) to grbs object */ pcb_2netmap_t twonets;