# HG changeset patch # User Thinker K.F. Li # Date 1261535631 -28800 # Node ID d687d33952641b6eea4f9128b6c690c85506fbba # Parent 47a860beaa44461b7f9c0767b600b6184f96885e Clear variables and draw root coord. Although root coord is never in zeroing list, now, it still need to be redrawed after redrawing other zeroed coords. diff -r 47a860beaa44 -r d687d3395264 src/X_supp.c --- a/src/X_supp.c Tue Dec 22 22:39:53 2009 +0800 +++ b/src/X_supp.c Wed Dec 23 10:33:51 2009 +0800 @@ -546,8 +546,10 @@ return NULL; r = X_MB_init(display_name, w, h, rt); - if(r != OK) + if(r != OK) { + free(rt); return NULL; + } return rt; } diff -r 47a860beaa44 -r d687d3395264 src/redraw_man.c --- a/src/redraw_man.c Tue Dec 22 22:39:53 2009 +0800 +++ b/src/redraw_man.c Wed Dec 23 10:33:51 2009 +0800 @@ -2180,6 +2180,8 @@ coord = rdman->zeroing_coords.ds[i]; draw_dirty_cached_coord(rdman, coord); } + + draw_dirty_cached_coord(rdman, rdman->root_coord); } @@ -2241,6 +2243,7 @@ coord = rdman->zeroing_coords.ds[i]; DARRAY_CLEAN(_coord_get_dirty_areas(coord)); } + DARRAY_CLEAN(_coord_get_dirty_areas(rdman->root_coord)); rdman->n_dirty_areas = 0; }