From b208b8e5fffc6a13277987d98400488c4d59d9c1 Mon Sep 17 00:00:00 2001 From: Dmitry Iskrich Date: Wed, 29 Jun 2016 19:24:12 +0300 Subject: DIRECTOR: Fix memory corruption --- engines/director/director.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'engines/director/director.cpp') diff --git a/engines/director/director.cpp b/engines/director/director.cpp index 10db492e59..9a22e675cb 100644 --- a/engines/director/director.cpp +++ b/engines/director/director.cpp @@ -395,14 +395,14 @@ void DirectorEngine::loadSharedCastsFrom(Common::String filename) { Common::SeekableSubReadStreamEndian *castStream = shardcst->getResource(MKTAG('V','W','C','R'), 1024); castScore->loadCastData(*castStream); - _sharedCasts = castScore->_casts; + *_sharedCasts = castScore->_casts; Common::Array dib = shardcst->getResourceIDList(MKTAG('D','I','B',' ')); if (dib.size() != 0) { Common::Array::iterator iterator; for (iterator = dib.begin(); iterator != dib.end(); ++iterator) { - _sharedDIB[*iterator] = shardcst->getResource(MKTAG('D','I','B',' '), *iterator); + _sharedDIB->setVal(*iterator, shardcst->getResource(MKTAG('D','I','B',' '), *iterator)); } } @@ -411,7 +411,7 @@ void DirectorEngine::loadSharedCastsFrom(Common::String filename) { if (stxt.size() != 0) { Common::Array::iterator iterator; for (iterator = stxt.begin(); iterator != stxt.end(); ++iterator) { - _sharedSTXT[*iterator] = shardcst->getResource(MKTAG('S','T','X','T'), *iterator); + _sharedSTXT->setVal(*iterator, shardcst->getResource(MKTAG('S','T','X','T'), *iterator)); } } @@ -420,7 +420,7 @@ void DirectorEngine::loadSharedCastsFrom(Common::String filename) { if (stxt.size() != 0) { Common::Array::iterator iterator; for (iterator = sound.begin(); iterator != sound.end(); ++iterator) { - _sharedSTXT[*iterator] = shardcst->getResource(MKTAG('S','N','D',' '), *iterator); + _sharedSound->setVal(*iterator, shardcst->getResource(MKTAG('S','N','D',' '), *iterator)); } } } -- cgit v1.2.3