[Scummvm-cvs-logs] SF.net SVN: scummvm:[47750] scummvm/trunk/engines/gob/resources.cpp
drmccoy at users.sourceforge.net
drmccoy at users.sourceforge.net
Sun Jan 31 14:18:32 CET 2010
Revision: 47750
http://scummvm.svn.sourceforge.net/scummvm/?rev=47750&view=rev
Author: drmccoy
Date: 2010-01-31 13:18:32 +0000 (Sun, 31 Jan 2010)
Log Message:
-----------
Properly deleting the TOT resource table again when loading failed
Modified Paths:
--------------
scummvm/trunk/engines/gob/resources.cpp
Modified: scummvm/trunk/engines/gob/resources.cpp
===================================================================
--- scummvm/trunk/engines/gob/resources.cpp 2010-01-31 13:05:46 UTC (rev 47749)
+++ scummvm/trunk/engines/gob/resources.cpp 2010-01-31 13:18:32 UTC (rev 47750)
@@ -159,6 +159,16 @@
bool hasTOTRes = loadTOTResourceTable();
bool hasEXTRes = loadEXTResourceTable();
+ if (!hasTOTRes) {
+ delete _totResourceTable;
+ _totResourceTable = 0;
+ }
+
+ if (!hasEXTRes) {
+ delete _extResourceTable;
+ _extResourceTable = 0;
+ }
+
if (!hasTOTRes && !hasEXTRes)
return false;
@@ -610,9 +620,10 @@
}
Resource *Resources::getTOTResource(uint16 id) const {
- if (id >= _totResourceTable->itemsCount) {
+ if (!_totResourceTable || (id >= _totResourceTable->itemsCount)) {
warning("Trying to load non-existent TOT resource (%s, %d/%d)",
- _totFile.c_str(), id, _totResourceTable->itemsCount - 1);
+ _totFile.c_str(), id,
+ _totResourceTable ? (_totResourceTable->itemsCount - 1) : -1);
return 0;
}
@@ -643,7 +654,7 @@
return 0;
}
- assert(_totResourceTable->items);
+ assert(_extResourceTable->items);
EXTResourceItem &extItem = _extResourceTable->items[id];
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