changeset 835:51da337879bd

Do not add dirty area for cached coords
author Thinker K.F. Li <thinker@codemud.net>
date Fri, 17 Sep 2010 12:21:35 +0800
parents 9f305d895e8f
children f3ce3598612f
files src/redraw_man.c
diffstat 1 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/redraw_man.c	Fri Sep 17 12:21:35 2010 +0800
+++ b/src/redraw_man.c	Fri Sep 17 12:21:35 2010 +0800
@@ -1435,8 +1435,12 @@
     if(r != OK)
 	return ERR;
 
-    add_dirty_area(rdman, coord, coord->cur_area);
-    add_dirty_area(rdman, coord, coord->last_area);
+    /* Dirty areas of cached one is added after update pcache_areas.
+     */
+    if(!coord_is_cached(coord)) {
+	add_dirty_area(rdman, coord, coord->cur_area);
+	add_dirty_area(rdman, coord, coord->last_area);
+    }
 
     coord_clear_flags(coord, COF_DIRTY);
     coord_set_flags(coord, COF_JUST_CLEAN);