diff src/redraw_man.c @ 525:f9326e955417 Android_Skia

Does not add root coord to zeroing list
author Thinker K.F. Li <thinker@branda.to>
date Tue, 22 Dec 2009 21:58:41 +0800
parents dcf4673896f4
children 3f695a6177b2
line wrap: on
line diff
--- a/src/redraw_man.c	Tue Dec 22 14:21:34 2009 +0800
+++ b/src/redraw_man.c	Tue Dec 22 21:58:41 2009 +0800
@@ -1638,9 +1638,9 @@
 	geo = dirty_geos[i];
 	coord = geo_get_coord(geo)->canvas_info->owner;
 	while(!coord_get_flags(coord, COF_MUST_ZEROING | COF_TEMP_MARK)) {
-	    coord_set_flags(coord, COF_TEMP_MARK);
 	    if(coord_is_root(coord))
 		break;
+	    coord_set_flags(coord, COF_TEMP_MARK);
 	    coord = coord->parent->canvas_info->owner;
 	}
     }
@@ -1651,9 +1651,9 @@
     for(i = 0; i < n_dirty_coords; i++) {
 	coord = dirty_coords[i]->canvas_info->owner;
 	while(!coord_get_flags(coord, COF_MUST_ZEROING | COF_TEMP_MARK)) {
-	    coord_set_flags(coord, COF_TEMP_MARK);
 	    if(coord_is_root(coord))
 		break;
+	    coord_set_flags(coord, COF_TEMP_MARK);
 	    coord = coord->parent->canvas_info->owner;
 	}
     }
@@ -1687,8 +1687,6 @@
     all_zeroing = &rdman->zeroing_coords;
     for(i = all_zeroing->num - 1; i >= 0; i--) {
 	coord = all_zeroing->ds[i];
-	if(coord_is_root(coord))
-	    continue;
 	zeroing_coord(rdman, coord);
     }