fixing memory leak in example

git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1313 8eb893ce-cfd4-0310-b710-fb5ebe64c474
sayer/1.4-spce2.6
Stefan Sayer 18 years ago
parent cc475671c7
commit 791d861ab7

@ -45,6 +45,10 @@ MyJukeboxDialog::~MyJukeboxDialog()
{
// clean playlist items
playlist.close(false);
// clean used AmAudioFile objects
for (vector<AmAudioFile*>::iterator it=
used_audio_files.begin(); it != used_audio_files.end();it++)
delete *it;
}
void MyJukeboxDialog::onSessionStart(const AmSipRequest& req)
@ -67,6 +71,8 @@ void MyJukeboxDialog::onDtmf(int event, int duration) {
}
AmPlaylistItem* item = new AmPlaylistItem(wav_file, NULL);
playlist.addToPlaylist(item);
// for garbage collection later
used_audio_files.push_back(wav_file);
}
void MyJukeboxDialog::process(AmEvent* ev)

@ -3,10 +3,14 @@
#include "AmSession.h"
#include "AmPlaylist.h"
#include "AmAudioFile.h"
#include <string>
using std::string;
#include <vector>
using std::vector;
class MyJukeboxFactory: public AmSessionFactory
{
public:
@ -22,6 +26,8 @@ class MyJukeboxDialog : public AmSession
{
AmPlaylist playlist;
vector<AmAudioFile*> used_audio_files;
public:
MyJukeboxDialog();
~MyJukeboxDialog();

Loading…
Cancel
Save