diff --git a/engines/wage/menu.cpp b/engines/wage/menu.cpp index e0a64aa9d077..681fb624b7b4 100644 --- a/engines/wage/menu.cpp +++ b/engines/wage/menu.cpp @@ -179,6 +179,8 @@ Menu::Menu(Gui *gui) : _gui(gui) { _menuActivated = false; _activeItem = -1; _activeSubItem = -1; + + _screenCopy.create(_gui->_screen.w, _gui->_screen.h, Graphics::PixelFormat::createFormatCLUT8()); } Menu::~Menu() { @@ -286,6 +288,8 @@ void Menu::renderSubmenu(MenuItem *menu) { bool Menu::mouseClick(int x, int y) { if (_bbox.contains(x, y)) { + _screenCopy.copyFrom(_gui->_screen); + for (int i = 0; i < _items.size(); i++) if (_items[i]->bbox.contains(x, y)) { if (_activeItem == i) diff --git a/engines/wage/menu.h b/engines/wage/menu.h index bfcb7301c134..6f8e14a3e46c 100644 --- a/engines/wage/menu.h +++ b/engines/wage/menu.h @@ -69,6 +69,7 @@ class Menu { private: Gui *_gui; Patterns _patterns; + Graphics::Surface _screenCopy; private: const Graphics::Font *getMenuFont();