aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/saga/interface.cpp1
-rw-r--r--engines/saga/render.cpp3
2 files changed, 3 insertions, 1 deletions
diff --git a/engines/saga/interface.cpp b/engines/saga/interface.cpp
index 30b5b5fcaa..dcf8705513 100644
--- a/engines/saga/interface.cpp
+++ b/engines/saga/interface.cpp
@@ -379,6 +379,7 @@ int Interface::activate() {
}
_vm->_gfx->showCursor(true);
draw();
+ _vm->_render->setFullRefresh(true);
}
return SUCCESS;
diff --git a/engines/saga/render.cpp b/engines/saga/render.cpp
index 063cc4c757..3bee811eab 100644
--- a/engines/saga/render.cpp
+++ b/engines/saga/render.cpp
@@ -230,7 +230,8 @@ void Render::restoreChangedRects() {
Common::List<Common::Rect>::const_iterator it;
for (it = _dirtyRects.begin(); it != _dirtyRects.end(); ++it) {
//_backGroundSurface.frameRect(*it, 1); // DEBUG
- g_system->copyRectToScreen((byte *)_backGroundSurface.pixels, _backGroundSurface.w, it->left, it->top, it->width(), it->height());
+ if (it->bottom <= _vm->_scene->getHeight())
+ g_system->copyRectToScreen((byte *)_backGroundSurface.pixels, _backGroundSurface.w, it->left, it->top, it->width(), it->height());
}
}
_dirtyRects.clear();