From e27f3c797322be87a9519a5229fab51f5856233c Mon Sep 17 00:00:00 2001 From: Guillaume Melquiond Date: Sun, 21 Oct 2007 16:17:25 +0000 Subject: Plugged memory leak in equipment sound. --- ChangeLog | 2 ++ src/resources/iteminfo.cpp | 14 ++++---------- src/resources/iteminfo.h | 3 +-- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index be91d6be..9bcf2a63 100644 --- a/ChangeLog +++ b/ChangeLog @@ -19,6 +19,8 @@ * src/resources/monsterdb.cpp: Plugged memory leak in database reader. * src/resources/spritedef.cpp: Plugged memory leak in sprites. * src/gui/quitdialog.cpp: Plugged memory leak in quit dialog. + * src/resources/iteminfo.cpp, src/resources/iteminfo.h: Plugged memory + leak in equipment sound. 2007-10-20 Guillaume Melquiond diff --git a/src/resources/iteminfo.cpp b/src/resources/iteminfo.cpp index 6654ccca..82c46e3c 100644 --- a/src/resources/iteminfo.cpp +++ b/src/resources/iteminfo.cpp @@ -100,22 +100,16 @@ void ItemInfo::setWeaponType(int type) void ItemInfo::addSound(EquipmentSoundEvent event, const std::string &filename) { - if (mSounds.find(event) == mSounds.end()) - { - mSounds[event] = new std::vector; - } - - mSounds[event]->push_back("sfx/" + filename); + mSounds[event].push_back("sfx/" + filename); } const std::string& ItemInfo::getSound(EquipmentSoundEvent event) const { - static const std::string empty = ""; - std::map*>::const_iterator i; + static const std::string empty; + std::map< EquipmentSoundEvent, std::vector >::const_iterator i; i = mSounds.find(event); - return (i == mSounds.end()) ? empty : - i->second->at(rand() % i->second->size()); + return i == mSounds.end() ? empty : i->second[rand() % i->second.size()]; } diff --git a/src/resources/iteminfo.h b/src/resources/iteminfo.h index d6c43198..b6fc922c 100644 --- a/src/resources/iteminfo.h +++ b/src/resources/iteminfo.h @@ -49,7 +49,6 @@ class ItemInfo * Constructor. */ ItemInfo(): - mImageName(""), mImage(NULL), mType(0), mWeight(0), @@ -138,7 +137,7 @@ class ItemInfo std::map mAnimationFiles; /** Stores the names of sounds to be played at certain event. */ - std::map* > mSounds; + std::map< EquipmentSoundEvent, std::vector > mSounds; }; #endif -- cgit v1.2.3-70-g09d2