aboutsummaryrefslogtreecommitdiff
path: root/engines/glk/windows.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/glk/windows.cpp')
-rw-r--r--engines/glk/windows.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/engines/glk/windows.cpp b/engines/glk/windows.cpp
index ff3a57b980..020b68f66d 100644
--- a/engines/glk/windows.cpp
+++ b/engines/glk/windows.cpp
@@ -602,9 +602,13 @@ void Window::requestLineEventUni(uint32 *buf, uint maxlen, uint initlen) {
void Window::redraw() {
if (Windows::_forceRedraw) {
- uint color = Windows::_overrideBgSet ? g_conf->_windowColor : _bgColor;
- int y0 = _yAdj ? _bbox.top - _yAdj : _bbox.top;
- g_vm->_screen->fillRect(Rect(_bbox.left, y0, _bbox.right, _bbox.bottom), color);
+ PairWindow *parent = dynamic_cast<PairWindow *>(_parent);
+
+ if (!parent || parent->_dir != winmethod_Arbitrary) {
+ uint color = Windows::_overrideBgSet ? g_conf->_windowColor : _bgColor;
+ int y0 = _yAdj ? _bbox.top - _yAdj : _bbox.top;
+ g_vm->_screen->fillRect(Rect(_bbox.left, y0, _bbox.right, _bbox.bottom), color);
+ }
}
}