Index: data.c =================================================================== --- data.c (revision 21810) +++ data.c (revision 21811) @@ -799,12 +799,13 @@ #include "obj_arc_draw.h" #include "obj_line_draw.h" #include "conf_core.h" -void pcb_data_clear_obj_flag(pcb_data_t *data, pcb_objtype_t tmask, unsigned long flag, int redraw) +unsigned long pcb_data_clear_obj_flag(pcb_data_t *data, pcb_objtype_t tmask, unsigned long flag, int redraw) { pcb_rtree_it_t it; pcb_box_t *n; int li; pcb_layer_t *l; + unsigned long cnt = 0; conf_core.temp.rat_warn = pcb_false; @@ -814,6 +815,7 @@ PCB_FLAG_CLEAR(flag, (pcb_any_obj_t *)n); if (redraw) pcb_pstk_invalidate_draw((pcb_pstk_t *)n); + cnt++; } } pcb_r_end(&it); @@ -831,6 +833,7 @@ PCB_FLAG_CLEAR(flag, (pcb_any_obj_t *)n); if (redraw) pcb_line_invalidate_draw(l, (pcb_line_t *)n); + cnt++; } } pcb_r_end(&it); @@ -842,6 +845,7 @@ PCB_FLAG_CLEAR(flag, (pcb_any_obj_t *)n); if (redraw) pcb_arc_invalidate_draw(l, (pcb_arc_t *)n); + cnt++; } } pcb_r_end(&it); @@ -853,6 +857,7 @@ PCB_FLAG_CLEAR(flag, (pcb_any_obj_t *)n); if (redraw) pcb_poly_invalidate_draw(l, (pcb_poly_t *)n); + cnt++; } } pcb_r_end(&it); @@ -864,16 +869,18 @@ PCB_FLAG_CLEAR(flag, (pcb_any_obj_t *)n); if (redraw) pcb_text_invalidate_draw(l, (pcb_text_t *)n); + cnt++; } } pcb_r_end(&it); } } + return cnt; } -void pcb_data_clear_flag(pcb_data_t *data, unsigned long flag, int redraw) +unsigned long pcb_data_clear_flag(pcb_data_t *data, unsigned long flag, int redraw) { - pcb_data_clear_obj_flag(data, PCB_OBJ_CLASS_REAL, flag, redraw); + return pcb_data_clear_obj_flag(data, PCB_OBJ_CLASS_REAL, flag, redraw); }