Mercurial > MadButterfly
comparison src/redraw_man.c @ 887:8a2d676d9fa3 abs_n_rel_center
Fix bug of clearing COF_TEMP_MARK.
draw_shapes_in_dirty_areas() mark COF_TEMP_MARK on coords and clear
them before leaving. But, it always clear the same one coord for
several times and keep others untouched. It is a logical error. It
can be avoided by avoiding to use the variable at mutliple place for
different purpose in a function, and compiler will check it out by
yelling that the variable is used before assigning a value.
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Sun, 26 Sep 2010 14:07:05 +0800 |
parents | a17c4e231e54 |
children | 960e2395973d |
comparison
equal
deleted
inserted
replaced
886:3457f2d8b0b8 | 887:8a2d676d9fa3 |
---|---|
2379 if(coord_get_flags(coord, COF_TEMP_MARK)) | 2379 if(coord_get_flags(coord, COF_TEMP_MARK)) |
2380 continue; | 2380 continue; |
2381 draw_dirty_cached_coord(rdman, coord); | 2381 draw_dirty_cached_coord(rdman, coord); |
2382 coord_set_flags(coord, COF_TEMP_MARK); | 2382 coord_set_flags(coord, COF_TEMP_MARK); |
2383 } | 2383 } |
2384 for(i = 0; i < num; i++) | 2384 for(i = 0; i < num; i++) { |
2385 coord = zeroings[i]; | |
2385 coord_clear_flags(coord, COF_TEMP_MARK); | 2386 coord_clear_flags(coord, COF_TEMP_MARK); |
2387 } | |
2386 | 2388 |
2387 draw_dirty_cached_coord(rdman, rdman->root_coord); | 2389 draw_dirty_cached_coord(rdman, rdman->root_coord); |
2388 } | 2390 } |
2389 | 2391 |
2390 | 2392 |