Index: trunk/src/find_any_isect.c =================================================================== --- trunk/src/find_any_isect.c (revision 14077) +++ trunk/src/find_any_isect.c (revision 14078) @@ -37,6 +37,12 @@ pcb_bool pcb_intersect_obj_obj(pcb_any_obj_t *a, pcb_any_obj_t *b) { + /* produce the clopped version for polygons to compare */ + if ((a->type == PCB_OBJ_POLY) && (((pcb_poly_t *)a)->Clipped == NULL)) + pcb_poly_init_clip(a->parent.layer->parent, a->parent.layer, (pcb_poly_t *)a); + if ((b->type == PCB_OBJ_POLY) && (((pcb_poly_t *)b)->Clipped == NULL)) + pcb_poly_init_clip(b->parent.layer->parent, b->parent.layer, (pcb_poly_t *)b); + switch(a->type) { case PCB_OBJ_VOID: return pcb_false; case PCB_OBJ_LINE: