[Scummvm-cvs-logs] SF.net SVN: scummvm:[42995] scummvm/trunk

drmccoy at users.sourceforge.net drmccoy at users.sourceforge.net
Sun Aug 2 12:40:27 CEST 2009


Revision: 42995
          http://scummvm.svn.sourceforge.net/scummvm/?rev=42995&view=rev
Author:   drmccoy
Date:     2009-08-02 10:40:27 +0000 (Sun, 02 Aug 2009)

Log Message:
-----------
When ESCing videos, seek to the last frame that was meant to be played. Fixes graphical glitches (bug #2830985) and crashes (bug #2830988)

Modified Paths:
--------------
    scummvm/trunk/engines/gob/videoplayer.cpp
    scummvm/trunk/graphics/video/coktelvideo/coktelvideo.cpp

Modified: scummvm/trunk/engines/gob/videoplayer.cpp
===================================================================
--- scummvm/trunk/engines/gob/videoplayer.cpp	2009-08-02 05:21:21 UTC (rev 42994)
+++ scummvm/trunk/engines/gob/videoplayer.cpp	2009-08-02 10:40:27 UTC (rev 42995)
@@ -739,6 +739,8 @@
 		_vm->_inter->storeKey(_vm->_util->checkKey());
 		if (VAR(0) == (unsigned) breakKey) {
 			_primaryVideo->getVideo()->disableSound();
+			// Seek to the last frame. Some scripts depend on that.
+			_primaryVideo->getVideo()->seekFrame(endFrame, SEEK_SET, true);
 			return true;
 		}
 	}

Modified: scummvm/trunk/graphics/video/coktelvideo/coktelvideo.cpp
===================================================================
--- scummvm/trunk/graphics/video/coktelvideo/coktelvideo.cpp	2009-08-02 05:21:21 UTC (rev 42994)
+++ scummvm/trunk/graphics/video/coktelvideo/coktelvideo.cpp	2009-08-02 10:40:27 UTC (rev 42995)
@@ -423,6 +423,7 @@
 	} else if (restart && (_soundStage == 0)) {
 		for (int i = ((frame > _curFrame) ? _curFrame : 0); i <= frame; i++)
 			processFrame(i);
+		return;
 	} else
 		error("Imd::seekFrame(): Frame %d is not directly accessible", frame);
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list