From 1f88852de548a02e42c9fc8a546fc377117f87ae Mon Sep 17 00:00:00 2001 From: lukaslw Date: Thu, 24 Jul 2014 18:59:26 +0200 Subject: PRINCE: blackPalette(), setPalette() update - allow game quit --- engines/prince/object.cpp | 2 +- engines/prince/prince.cpp | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/engines/prince/object.cpp b/engines/prince/object.cpp index e4dece4426..c8cdc75083 100644 --- a/engines/prince/object.cpp +++ b/engines/prince/object.cpp @@ -43,7 +43,7 @@ Object::~Object() { delete _surface; _surface = nullptr; } - if (_zoomSurface) { + if (_zoomSurface != nullptr) { _zoomSurface->free(); delete _zoomSurface; _zoomSurface = nullptr; diff --git a/engines/prince/prince.cpp b/engines/prince/prince.cpp index 31702484d8..90629801e9 100644 --- a/engines/prince/prince.cpp +++ b/engines/prince/prince.cpp @@ -1779,6 +1779,14 @@ void PrinceEngine::blackPalette() { fadeStep--; _graph->setPalette(blackPalette); _system->updateScreen(); + Common::Event event; + Common::EventManager *eventMan = _system->getEventManager(); + eventMan->pollEvent(event); + if (shouldQuit()) { + free(paletteBackup); + free(blackPalette); + return; + } pause(); } free(paletteBackup); @@ -1800,6 +1808,14 @@ void PrinceEngine::setPalette() { fadeStep++; _graph->setPalette(blackPalette); _system->updateScreen(); + Common::Event event; + Common::EventManager *eventMan = _system->getEventManager(); + eventMan->pollEvent(event); + if (shouldQuit()) { + _graph->setPalette(paletteBackup); + free(blackPalette); + return; + } pause(); } _graph->setPalette(paletteBackup); -- cgit v1.2.3