[Scummvm-cvs-logs] CVS: scummvm/queen display.cpp,1.79,1.80

Gregory Montoir cyx at users.sourceforge.net
Tue Dec 21 08:09:01 CET 2004


Update of /cvsroot/scummvm/scummvm/queen
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7094/queen

Modified Files:
	display.cpp 
Log Message:
no need to updateScreen() if there are no screen blocks marked as dirty

Index: display.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/display.cpp,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -d -r1.79 -r1.80
--- display.cpp	10 Dec 2004 15:18:28 -0000	1.79
+++ display.cpp	21 Dec 2004 16:08:14 -0000	1.80
@@ -83,10 +83,15 @@
 	delete[] _backdropBuf;
 	delete[] _panelBuf;
 	delete[] _screenBuf;
+	
+	delete[] _dirtyBlocks;
 
 	delete[] _pal.room;
 	delete[] _pal.screen;
 	delete[] _pal.panel;
+	
+	delete[] _dynalum.mskBuf;
+	delete[] _dynalum.lumBuf;
 }
 
 void Display::dynalumInit(const char *roomName, uint16 roomNum) {
@@ -598,6 +603,7 @@
 //	_fullRefresh = 1;
 	if (_fullRefresh) {
 		_system->copyRectToScreen(_screenBuf, SCREEN_W, 0, 0, SCREEN_W, SCREEN_H);
+		_system->updateScreen();
 		--_fullRefresh;
 		if (_fullRefresh) {
 			memset(_dirtyBlocks, 0, _dirtyBlocksWidth * _dirtyBlocksHeight);
@@ -628,9 +634,11 @@
 			dbBuf += _dirtyBlocksWidth;
 			scrBuf += SCREEN_W * D_BLOCK_H;
 		}
+		if (count != 0) {
+			_system->updateScreen();
+		}
 		debug(7, "Display::update() - Dirtyblocks blit (%d)", count);
 	}
-	_system->updateScreen();
 }
 
 void Display::setupPanel() {





More information about the Scummvm-git-logs mailing list