# HG changeset patch # User Thinker K.F. Li # Date 1261714280 -28800 # Node ID 5711059b9642348f872d7bfa3318b4373b86f7b3 # Parent 1ad6c6192a80e6510e80f30691e814ac8f34402c Add todo diff -r 1ad6c6192a80 -r 5711059b9642 src/redraw_man.c --- a/src/redraw_man.c Fri Dec 25 11:13:21 2009 +0800 +++ b/src/redraw_man.c Fri Dec 25 12:11:20 2009 +0800 @@ -1721,6 +1721,10 @@ area0 = coord->canvas_info->aggr_dirty_areas; area1 = area0 + 1; + /* TODO: Since both cur & last area of coords are added into dirty + * area list, position of both areas shoud be adjusted for + * all descendants when zeroing a cached coord. + */ for(i = 0; i < n_areas; i++) { area = areas[i]; if(area->w != 0 || area->h != 0) @@ -1786,7 +1790,8 @@ pcached_coord = parent->canvas_info->owner; compute_cached_2_pdev_matrix(coord, canvas2pdev_matrix); - + + /* Add dirty areas to parent cached coord. */ matrix_trans_pos(canvas2pdev_matrix, poses0[0], poses0[0] + 1); matrix_trans_pos(canvas2pdev_matrix, poses0[1], poses0[1] + 1); area_init(area0, 2, poses0);