diff --git a/engines/saga/interface.cpp b/engines/saga/interface.cpp index 30b5b5fcaa8..dcf87055132 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 063cc4c757c..3bee811eabc 100644 --- a/engines/saga/render.cpp +++ b/engines/saga/render.cpp @@ -230,7 +230,8 @@ void Render::restoreChangedRects() { Common::List::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();