[Scummvm-cvs-logs] SF.net SVN: scummvm:[33209] scummvm/branches/gsoc2008-gui/gui/ThemeRenderer .cpp

Tanoku at users.sourceforge.net Tanoku at users.sourceforge.net
Tue Jul 22 19:39:30 CEST 2008


Revision: 33209
          http://scummvm.svn.sourceforge.net/scummvm/?rev=33209&view=rev
Author:   Tanoku
Date:     2008-07-22 17:39:30 +0000 (Tue, 22 Jul 2008)

Log Message:
-----------
Dirty screen handling, round three.

Modified Paths:
--------------
    scummvm/branches/gsoc2008-gui/gui/ThemeRenderer.cpp

Modified: scummvm/branches/gsoc2008-gui/gui/ThemeRenderer.cpp
===================================================================
--- scummvm/branches/gsoc2008-gui/gui/ThemeRenderer.cpp	2008-07-22 17:00:11 UTC (rev 33208)
+++ scummvm/branches/gsoc2008-gui/gui/ThemeRenderer.cpp	2008-07-22 17:39:30 UTC (rev 33209)
@@ -592,18 +592,13 @@
 	if (_dirtyScreen.empty())
 		return;
 
-	Common::List<Common::Rect>::iterator cur;
-	for (Common::List<Common::Rect>::iterator d = _dirtyScreen.begin(); d != _dirtyScreen.end(); ++d) {
-		cur = d;
+	Common::List<Common::Rect>::const_iterator i, j;
+	for (i = _dirtyScreen.begin(); i != _dirtyScreen.end(); ++i) {
+		for (j = i; j != _dirtyScreen.end(); ++j)
+			if (j != i && i->intersects(*j))
+				j = _dirtyScreen.reverse_erase(j);
 
-		do {
-			++d;
-			if (cur->intersects(*d))
-				d = _dirtyScreen.reverse_erase(d);
-		} while (d != _dirtyScreen.end());
-
-		d = cur;
-		_vectorRenderer->copyFrame(_system, *d);
+		_vectorRenderer->copyFrame(_system, *i);
 	}
 		
 	_dirtyScreen.clear();


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list