diff options
author | Johannes Schickel | 2006-04-11 16:28:00 +0000 |
---|---|---|
committer | Johannes Schickel | 2006-04-11 16:28:00 +0000 |
commit | 521697be016acf13d1c201c35ee7627b614df2a7 (patch) | |
tree | 34f41f293b15a3827e1943ee82f6a954062384f2 | |
parent | 4b8b7e2aedf23d5100c5197a46c4052919a7f8ce (diff) | |
download | scummvm-rg350-521697be016acf13d1c201c35ee7627b614df2a7.tar.gz scummvm-rg350-521697be016acf13d1c201c35ee7627b614df2a7.tar.bz2 scummvm-rg350-521697be016acf13d1c201c35ee7627b614df2a7.zip |
Fixes disappearing borders with classic theme.
svn-id: r21795
-rw-r--r-- | gui/ThemeClassic.cpp | 8 | ||||
-rw-r--r-- | gui/theme.h | 1 |
2 files changed, 5 insertions, 4 deletions
diff --git a/gui/ThemeClassic.cpp b/gui/ThemeClassic.cpp index 7b02b3242b..175bfe04db 100644 --- a/gui/ThemeClassic.cpp +++ b/gui/ThemeClassic.cpp @@ -112,6 +112,7 @@ void ThemeClassic::closeDialog() { delete _dialog; _dialog = 0; } + _forceRedraw = true; #endif } @@ -124,8 +125,7 @@ void ThemeClassic::clearAll() { } void ThemeClassic::drawAll() { - if (!_initOk) - return; + _forceRedraw = false; } void ThemeClassic::resetDrawArea() { @@ -140,7 +140,7 @@ void ThemeClassic::drawDialogBackground(const Common::Rect &r, uint16 hints, kSt restoreBackground(r); - if ((hints & THEME_HINT_SAVE_BACKGROUND) && !(hints & THEME_HINT_FIRST_DRAW)) { + if ((hints & THEME_HINT_SAVE_BACKGROUND) && !(hints & THEME_HINT_FIRST_DRAW) && !_forceRedraw) { addDirtyRect(r); return; } @@ -178,7 +178,7 @@ void ThemeClassic::drawWidgetBackground(const Common::Rect &r, uint16 hints, kWi restoreBackground(r); - if ((hints & THEME_HINT_SAVE_BACKGROUND) && !(hints & THEME_HINT_FIRST_DRAW)) { + if ((hints & THEME_HINT_SAVE_BACKGROUND) && !(hints & THEME_HINT_FIRST_DRAW) && !_forceRedraw) { addDirtyRect(r); return; } diff --git a/gui/theme.h b/gui/theme.h index 6526aa67e0..f6fd4238bc 100644 --- a/gui/theme.h +++ b/gui/theme.h @@ -249,6 +249,7 @@ private: void blendScreenToDialog(); #endif + bool _forceRedraw; bool _initOk; const Graphics::Font *_font; |