Update of /cvsroot/seq/showeq/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28617/src Modified Files: Tag: pre_5_0_beta experiencelog.cpp experiencelog.h spawn.cpp spells.cpp spellshell.cpp xmlpreferences.cpp Log Message: Valgrind cleanup. Made experience log treat it's exp list records properly and made sure m_exp_log is initialized in the constructor always. Also changed to use QPtrList since QList is deprecated. Made spells.cpp properly call clear() which deletes the spells properly instead of calling clearSpells (which is the signal when spells are cleared). Made spawn.cpp initialize all spawn fields in all constructors. Made xmlprefernces delete the sections when it is destructed. Made spellshell not clobber spells if they are referenced twice. Index: spellshell.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/spellshell.cpp,v retrieving revision 1.11.10.6 retrieving revision 1.11.10.7 diff -u -d -r1.11.10.6 -r1.11.10.7 --- spellshell.cpp 21 Feb 2005 05:56:30 -0000 1.11.10.6 +++ spellshell.cpp 10 May 2005 17:01:34 -0000 1.11.10.7 @@ -119,7 +119,7 @@ SpellShell::~SpellShell() { - clearSpells(); + clear(); } SpellItem* SpellShell::findSpell(uint16_t spellId, Index: xmlpreferences.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/xmlpreferences.cpp,v retrieving revision 1.3.16.4 retrieving revision 1.3.16.5 diff -u -d -r1.3.16.4 -r1.3.16.5 --- xmlpreferences.cpp 21 Feb 2005 05:56:31 -0000 1.3.16.4 +++ xmlpreferences.cpp 10 May 2005 17:01:35 -0000 1.3.16.5 @@ -62,6 +62,9 @@ XMLPreferences::~XMLPreferences() { + m_userSections.clear(); + m_defaultsSections.clear(); + m_commentSections.clear(); } void XMLPreferences::load() Index: spells.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/spells.cpp,v retrieving revision 1.4.4.3 retrieving revision 1.4.4.4 diff -u -d -r1.4.4.3 -r1.4.4.4 --- spells.cpp 7 Nov 2004 23:10:25 -0000 1.4.4.3 +++ spells.cpp 10 May 2005 17:01:33 -0000 1.4.4.4 @@ -299,7 +299,11 @@ // remove from queue newSpell = spellQueue.dequeue(); - // insert into table + // insert into table. Make sure we don't clobber and lose memory + if (m_spells[newSpell->spell()] != NULL) + { + delete m_spells[newSpell->spell()]; + } m_spells[newSpell->spell()] = newSpell; } } @@ -314,7 +318,12 @@ if (m_spells) { for (int i = 0; i <= m_maxSpell; i++) - delete m_spells[i]; + { + if (m_spells[i] != NULL) + { + delete m_spells[i]; + } + } delete [] m_spells; Index: experiencelog.h =================================================================== RCS file: /cvsroot/seq/showeq/src/experiencelog.h,v retrieving revision 1.7.16.2 retrieving revision 1.7.16.3 diff -u -d -r1.7.16.2 -r1.7.16.3 --- experiencelog.h 13 Dec 2003 00:49:42 -0000 1.7.16.2 +++ experiencelog.h 10 May 2005 17:01:33 -0000 1.7.16.3 @@ -123,7 +123,7 @@ *m_experience_remaining, *m_play_time, *m_experience_rate, *m_kills_to_level, *m_time_to_level; - QList<ExperienceRecord> m_exp_list; + QPtrList<ExperienceRecord> m_exp_list; QMenuBar *m_menu_bar; QPopupMenu *m_view_menu, *m_exp_rate_menu, *m_ZEM_menu; Index: spawn.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/spawn.cpp,v retrieving revision 1.31.6.3 retrieving revision 1.31.6.4 diff -u -d -r1.31.6.3 -r1.31.6.4 --- spawn.cpp 18 Apr 2005 03:16:23 -0000 1.31.6.3 +++ spawn.cpp 10 May 2005 17:01:33 -0000 1.31.6.4 @@ -242,6 +242,7 @@ : Item(tSpawn, 0) { m_name = "fake"; + m_lastName = ""; setNPC(SPAWN_NPC_UNKNOWN); Item::setPos(0, 0, 0); @@ -279,9 +280,6 @@ // have update initialize everything update(s); - - // turn on auto delete for the track list - m_spawnTrackList.setAutoDelete(true); } Spawn::Spawn(uint16_t id, @@ -293,6 +291,7 @@ { // apply the unknown mob values m_name = "unknown"; + m_lastName = ""; setNPC(SPAWN_NPC_UNKNOWN); // set what is known @@ -311,6 +310,8 @@ setHP(0); setMaxHP(0); setLevel(0); + setGuildID(0xffff); + setGuildTag(NULL); for (int i = 0; i < tNumWearSlots; i++) setEquipment(i, 0); setTypeflag(0); @@ -319,6 +320,9 @@ // turn on auto delete for the track list m_spawnTrackList.setAutoDelete(true); + + // Finally, note when this update ocurred + updateLast(); } Spawn::Spawn(QDataStream& d, uint16_t id) Index: experiencelog.cpp =================================================================== RCS file: /cvsroot/seq/showeq/src/experiencelog.cpp,v retrieving revision 1.10.16.3 retrieving revision 1.10.16.4 diff -u -d -r1.10.16.3 -r1.10.16.4 --- experiencelog.cpp 7 Nov 2004 23:10:03 -0000 1.10.16.3 +++ experiencelog.cpp 10 May 2005 17:01:32 -0000 1.10.16.4 @@ -260,10 +260,17 @@ m_log_exp = 0; seqWarn("Error opening exp.log, no exp will be logged this session"); } + else + { + m_log_exp = 1; + } fileInfo = m_dataLocMgr->findWriteFile("logs", "newexp.log"); m_newExpLogFile = fileInfo.absFilePath(); + + // Clear the exp list on removes and deletes. + m_exp_list.setAutoDelete(true); } void ExperienceWindow::savePrefs() |