From 74fe47748e11cc58aee46e986d6670636c027e32 Mon Sep 17 00:00:00 2001 From: Marisa-Chan Date: Fri, 7 Mar 2014 08:16:17 +0700 Subject: ZVISION: Fix slot rendering for item-to-item click --- engines/zvision/slot_control.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'engines/zvision') diff --git a/engines/zvision/slot_control.cpp b/engines/zvision/slot_control.cpp index 418aa8fad2..111a7c63e8 100644 --- a/engines/zvision/slot_control.cpp +++ b/engines/zvision/slot_control.cpp @@ -168,11 +168,18 @@ bool SlotControl::process(uint32 deltaTimeInMillis) { if (_engine->canRender()) { int cur_item = _engine->getScriptManager()->getStateValue(_key); if (cur_item != _rendered_item) { - if (_rendered_item == 0) { - if (_bkg) - delete _bkg; + if (_rendered_item != 0 && cur_item == 0) { + _engine->getRenderManager()->blitSurfaceToBkg(*_bkg, _rectangle.left, _rectangle.top); + _rendered_item = cur_item; + } else { + if (_rendered_item == 0) { + if (_bkg) + delete _bkg; - _bkg = _engine->getRenderManager()->getBkgRect(_rectangle); + _bkg = _engine->getRenderManager()->getBkgRect(_rectangle); + } else { + _engine->getRenderManager()->blitSurfaceToBkg(*_bkg, _rectangle.left, _rectangle.top); + } char buf[16]; if (_engine->getGameId() == GID_NEMESIS) @@ -195,9 +202,6 @@ bool SlotControl::process(uint32 deltaTimeInMillis) { delete srf; - _rendered_item = cur_item; - } else { - _engine->getRenderManager()->blitSurfaceToBkg(*_bkg, _rectangle.left, _rectangle.top); _rendered_item = cur_item; } } -- cgit v1.2.3