[Scummvm-git-logs] scummvm master -> e008baab98fdc1d470a311f2748f4ac53cc3762d

sev- sev at scummvm.org
Tue Aug 11 21:45:53 UTC 2020


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
e008baab98 DIRECTOR: Add sanity checks to DigitalVideo rendering


Commit: e008baab98fdc1d470a311f2748f4ac53cc3762d
    https://github.com/scummvm/scummvm/commit/e008baab98fdc1d470a311f2748f4ac53cc3762d
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-08-11T23:45:19+02:00

Commit Message:
DIRECTOR: Add sanity checks to DigitalVideo rendering

Changed paths:
    engines/director/castmember.cpp


diff --git a/engines/director/castmember.cpp b/engines/director/castmember.cpp
index 958c88a3de..83005e8092 100644
--- a/engines/director/castmember.cpp
+++ b/engines/director/castmember.cpp
@@ -283,7 +283,16 @@ bool DigitalVideoCastMember::isModified() {
 Graphics::MacWidget *DigitalVideoCastMember::createWidget(Common::Rect &bbox) {
 	Graphics::MacWidget *widget = new Graphics::MacWidget(g_director->getCurrentWindow(), bbox.left, bbox.top, bbox.width(), bbox.height(), g_director->_wm, false);
 
-	widget->getSurface()->blitFrom(*_video->decodeNextFrame());
+	if (!_video || !_video->isVideoLoaded()) {
+		warning("DigitalVideoCastMember::createWidget: No video decoder");
+		return nullptr;
+	}
+
+	const Graphics::Surface *frame = _video->decodeNextFrame();
+	if (frame)
+		widget->getSurface()->blitFrom(*frame);
+
+	delete frame;
 
 	return widget;
 }




More information about the Scummvm-git-logs mailing list