[Scummvm-cvs-logs] scummvm master -> 74a056e746e12a2efc6f8014047eeb20a759004b

lordhoto lordhoto at gmail.com
Mon Aug 19 00:09:02 CEST 2013


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
74a056e746 GUI: Clear dirty rects when initializing ThemeEngine.


Commit: 74a056e746e12a2efc6f8014047eeb20a759004b
    https://github.com/scummvm/scummvm/commit/74a056e746e12a2efc6f8014047eeb20a759004b
Author: Johannes Schickel (lordhoto at scummvm.org)
Date: 2013-08-18T15:06:46-07:00

Commit Message:
GUI: Clear dirty rects when initializing ThemeEngine.

This avoids nasty invalid writes to the overlay when the overlay is being
resized.

Changed paths:
    gui/ThemeEngine.cpp



diff --git a/gui/ThemeEngine.cpp b/gui/ThemeEngine.cpp
index 561c024..2abf4a5 100644
--- a/gui/ThemeEngine.cpp
+++ b/gui/ThemeEngine.cpp
@@ -521,6 +521,12 @@ void ThemeEngine::setGraphicsMode(GraphicsMode mode) {
 	delete _vectorRenderer;
 	_vectorRenderer = Graphics::createRenderer(mode);
 	_vectorRenderer->setSurface(&_screen);
+
+	// Since we reinitialized our screen surfaces we know nothing has been
+	// drawn so far. Sometimes we still end up with dirty screen bits in the
+	// list. Clearing it avoids invalid overlay writes when the backend
+	// resizes the overlay.
+	_dirtyScreen.clear();
 }
 
 void WidgetDrawData::calcBackgroundOffset() {






More information about the Scummvm-git-logs mailing list