Author: toshok
Date: 2007-09-06 14:28:01 -0400 (Thu, 06 Sep 2007)
New Revision: 85437
Modified:
trunk/moon/src/ChangeLog
trunk/moon/src/dirty.cpp
Log:
* dirty.cpp (process_dirty_elements): some guards against unioning
an empty rectangle.
2007-09-06 Chris Toshok <[EMAIL PROTECTED]>
Modified: trunk/moon/src/ChangeLog
===================================================================
--- trunk/moon/src/ChangeLog 2007-09-06 18:08:17 UTC (rev 85436)
+++ trunk/moon/src/ChangeLog 2007-09-06 18:28:01 UTC (rev 85437)
@@ -1,5 +1,10 @@
2007-09-06 Chris Toshok <[EMAIL PROTECTED]>
+ * dirty.cpp (process_dirty_elements): some guards against unioning
+ an empty rectangle.
+
+2007-09-06 Chris Toshok <[EMAIL PROTECTED]>
+
* runtime.cpp (Surface::Invalidate): only invalidate the actual
rectangle. The +1/-2 stuff is done in dirty.cpp, if it needs to
be.
Modified: trunk/moon/src/dirty.cpp
===================================================================
--- trunk/moon/src/dirty.cpp 2007-09-06 18:08:17 UTC (rev 85436)
+++ trunk/moon/src/dirty.cpp 2007-09-06 18:28:01 UTC (rev 85437)
@@ -164,7 +164,10 @@
Rect dirty = el->dirty_rect;
if (el->UseAA() && !dirty.IsEmpty())
dirty = dirty.GrowBy (1);
- dirty = dirty.Union (el->children_dirty_rect);
+ if (dirty.IsEmpty())
+ dirty = el->children_dirty_rect;
+ else if (!el->children_dirty_rect.IsEmpty())
+ dirty = dirty.Union (el->children_dirty_rect);
if (el->parent) {
// printf (" + + invalidating parent (%f,%f,%f,%f)\n",
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches