Index: trunk/src/crosshair.c =================================================================== --- trunk/src/crosshair.c (revision 13496) +++ trunk/src/crosshair.c (revision 13497) @@ -292,7 +292,7 @@ /* draw subcircuit */ PCB_SUBC_LOOP(Buffer->Data); { - XORDrawSubc(subc, x, y); + XORDrawSubc(subc, x, y, Buffer->from_outside); } PCB_END_LOOP; @@ -556,7 +556,7 @@ break; case PCB_TYPE_SUBC: - XORDrawSubc((pcb_subc_t *) pcb_crosshair.AttachedObject.Ptr2, dx, dy); + XORDrawSubc((pcb_subc_t *) pcb_crosshair.AttachedObject.Ptr2, dx, dy, 0); break; } Index: trunk/src/obj_subc.c =================================================================== --- trunk/src/obj_subc.c (revision 13496) +++ trunk/src/obj_subc.c (revision 13497) @@ -553,10 +553,10 @@ pcb_gui->draw_line(pcb_crosshair.GC, DX + PCB_EMARK_SIZE, DY, DX, DY + PCB_EMARK_SIZE); } -void XORDrawSubc(pcb_subc_t *sc, pcb_coord_t DX, pcb_coord_t DY) +void XORDrawSubc(pcb_subc_t *sc, pcb_coord_t DX, pcb_coord_t DY, int use_curr_side) { int n; - +printf("mirr: %d\n", use_curr_side); /* draw per layer objects */ for(n = 0; n < sc->data->LayerN; n++) { pcb_layer_t *ly = sc->data->Layer + n; Index: trunk/src/obj_subc.h =================================================================== --- trunk/src/obj_subc.h (revision 13496) +++ trunk/src/obj_subc.h (revision 13497) @@ -76,7 +76,7 @@ /* Draw a subcircuit for a preview (silk, copper and outline only) */ void pcb_subc_draw_preview(const pcb_subc_t *sc, const pcb_box_t *drawn_area); -void XORDrawSubc(pcb_subc_t *sc, pcb_coord_t DX, pcb_coord_t DY); +void XORDrawSubc(pcb_subc_t *sc, pcb_coord_t DX, pcb_coord_t DY, int use_curr_side); /* Redo the binding after the layer binding recipe changed in sc */ int pcb_subc_rebind(pcb_board_t *pcb, pcb_subc_t *sc);