Mercurial > MadButterfly
comparison src/redraw_man.c @ 836:f3ce3598612f
Avoid to add a coord to dirty_pcache_area_coords twice or more
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Fri, 17 Sep 2010 12:21:36 +0800 |
parents | 51da337879bd |
children | 0b66b585b364 |
comparison
equal
deleted
inserted
replaced
835:51da337879bd | 836:f3ce3598612f |
---|---|
472 ADD_DATA(coords, zeroing_coords, coord); | 472 ADD_DATA(coords, zeroing_coords, coord); |
473 return OK; | 473 return OK; |
474 } | 474 } |
475 | 475 |
476 static int add_dirty_pcache_area_coord(redraw_man_t *rdman, coord_t *coord) { | 476 static int add_dirty_pcache_area_coord(redraw_man_t *rdman, coord_t *coord) { |
477 coord_set_flags(coord, COF_DIRTY_PCACHE_AREA); | 477 if(!coord_get_flags(coord, COF_DIRTY_PCACHE_AREA)) { |
478 ADD_DATA(coords, dirty_pcache_area_coords, coord); | 478 coord_set_flags(coord, COF_DIRTY_PCACHE_AREA); |
479 ADD_DATA(coords, dirty_pcache_area_coords, coord); | |
480 } | |
479 return OK; | 481 return OK; |
480 } | 482 } |
481 | 483 |
482 static int add_free_obj(redraw_man_t *rdman, void *obj, | 484 static int add_free_obj(redraw_man_t *rdman, void *obj, |
483 free_func_t free_func) { | 485 free_func_t free_func) { |