diff options
author | Gregory Montoir | 2006-01-10 21:10:48 +0000 |
---|---|---|
committer | Gregory Montoir | 2006-01-10 21:10:48 +0000 |
commit | 6966e4498da9f5bdba5543395fd40149fe8a7a94 (patch) | |
tree | d6f03c25c26ae41c51d390bcecb19e2c3f9252a1 | |
parent | 1eb9b6516d864f5058040d6707c8be719829cfd3 (diff) | |
download | scummvm-rg350-6966e4498da9f5bdba5543395fd40149fe8a7a94.tar.gz scummvm-rg350-6966e4498da9f5bdba5543395fd40149fe8a7a94.tar.bz2 scummvm-rg350-6966e4498da9f5bdba5543395fd40149fe8a7a94.zip |
Free the palette before re-using a 'cached cursor' slot.
svn-id: r19975
-rw-r--r-- | scumm/resource_v7he.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/scumm/resource_v7he.cpp b/scumm/resource_v7he.cpp index 89431825da..7b27866058 100644 --- a/scumm/resource_v7he.cpp +++ b/scumm/resource_v7he.cpp @@ -49,10 +49,10 @@ ResExtractor::~ResExtractor() { CachedCursor *cc = &_cursorCache[i]; if (cc->valid) { free(cc->bitmap); - cc->bitmap = NULL; - cc->valid = false; + free(cc->palette); } } + memset(_cursorCache, 0, sizeof(_cursorCache)); } ResExtractor::CachedCursor *ResExtractor::findCachedCursor(int id) { @@ -81,8 +81,8 @@ ResExtractor::CachedCursor *ResExtractor::getCachedCursorSlot() { } assert(r); free(r->bitmap); - r->bitmap = NULL; - r->valid = false; + free(r->palette); + memset(r, 0, sizeof(CachedCursor)); return r; } @@ -106,7 +106,7 @@ void ResExtractor::setCursor(int id) { } if (_vm->_system->hasFeature(OSystem::kFeatureCursorHasPalette) && cc->palette) - _vm->_system->setCursorPalette(cc->palette, 0, cc->palSize); + _vm->_system->setCursorPalette(cc->palette, 0, cc->palSize); _vm->setCursorHotspot(cc->hotspot_x, cc->hotspot_y); _vm->setCursorFromBuffer(cc->bitmap, cc->w, cc->h, cc->w); |