# HG changeset patch # User Thinker K.F. Li # Date 1285481225 -28800 # Node ID 8a2d676d9fa37fcf3ca719e8bbdd646105bc7264 # Parent 3457f2d8b0b8624c11ec0d77eb9e5751cbbe94cb 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. diff -r 3457f2d8b0b8 -r 8a2d676d9fa3 src/redraw_man.c --- a/src/redraw_man.c Sun Sep 26 12:17:06 2010 +0800 +++ b/src/redraw_man.c Sun Sep 26 14:07:05 2010 +0800 @@ -2381,8 +2381,10 @@ draw_dirty_cached_coord(rdman, coord); coord_set_flags(coord, COF_TEMP_MARK); } - for(i = 0; i < num; i++) + for(i = 0; i < num; i++) { + coord = zeroings[i]; coord_clear_flags(coord, COF_TEMP_MARK); + } draw_dirty_cached_coord(rdman, rdman->root_coord); }