aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/prince/object.cpp2
-rw-r--r--engines/prince/prince.cpp16
2 files changed, 17 insertions, 1 deletions
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);