[Scummvm-cvs-logs] SF.net SVN: scummvm: [22688] scummvm/trunk/gui/newgui.cpp

eriktorbjorn at users.sourceforge.net eriktorbjorn at users.sourceforge.net
Sat May 27 15:58:01 CEST 2006


Revision: 22688
Author:   eriktorbjorn
Date:     2006-05-27 15:57:00 -0700 (Sat, 27 May 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=22688&view=rev

Log Message:
-----------
Don't "tickle" a dialog until after it has had a chance to redraw itself,
otherwise it may be in an inconsistent state since the modern theme uses
openDialog() to allocate a surface as large as he dialog itself.

This fixes a crash when changing to a bigger scaler when the About dialog is
running.

Modified Paths:
--------------
    scummvm/trunk/gui/newgui.cpp
Modified: scummvm/trunk/gui/newgui.cpp
===================================================================
--- scummvm/trunk/gui/newgui.cpp	2006-05-27 21:39:08 UTC (rev 22687)
+++ scummvm/trunk/gui/newgui.cpp	2006-05-27 22:57:00 UTC (rev 22688)
@@ -162,8 +162,6 @@
 	}
 
 	while (!_dialogStack.empty() && activeDialog == _dialogStack.top()) {
-		activeDialog->handleTickle();
-
 		if (_needRedraw) {
 			// Restore the overlay to its initial state, then draw all dialogs.
 			// This is necessary to get the blending right.
@@ -188,6 +186,11 @@
 			_needRedraw = false;
 		}
 
+		// Don't "tickle" the dialog until the theme has had a chance
+		// to re-allocate buffers in case of a scaler change.
+
+		activeDialog->handleTickle();
+
 		if (useStandardCurs)
 			animateCursor();
 		_theme->drawAll();


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