diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/titanic/support/avi_surface.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/engines/titanic/support/avi_surface.cpp b/engines/titanic/support/avi_surface.cpp index 86daeab344..7673c37c37 100644 --- a/engines/titanic/support/avi_surface.cpp +++ b/engines/titanic/support/avi_surface.cpp @@ -472,7 +472,8 @@ Graphics::ManagedSurface *AVISurface::duplicateTransparency() const { } bool AVISurface::playCutscene(const Rect &r, uint startFrame, uint endFrame) { - bool isDifferent = false; + if (g_vm->shouldQuit()) + return false; if (_currentFrame != ((int)startFrame - 1) || startFrame == 0) { // Start video playback at the desired starting frame @@ -484,7 +485,7 @@ bool AVISurface::playCutscene(const Rect &r, uint startFrame, uint endFrame) { _decoder->start(); } - isDifferent = _movieFrameSurface[0]->w != r.width() || + bool isDifferent = _movieFrameSurface[0]->w != r.width() || _movieFrameSurface[0]->h != r.height(); bool isFinished = true; @@ -515,7 +516,7 @@ bool AVISurface::playCutscene(const Rect &r, uint startFrame, uint endFrame) { } stop(); - return isFinished; + return isFinished && !g_vm->shouldQuit(); } uint AVISurface::getBitDepth() const { |