summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--synth/channel.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/synth/channel.cpp b/synth/channel.cpp
index 61ea6de..8ff615e 100644
--- a/synth/channel.cpp
+++ b/synth/channel.cpp
@@ -39,12 +39,14 @@ Channel::~Channel()
void Channel::cleanup()
{
list<NoteSkel*>::iterator it;
- for (it=notes.begin(); it!=notes.end(); it++)
+ for (it=notes.begin(); it!=notes.end();)
if ((*it)->still_active()==false)
{
(*it)->destroy();
it=notes.erase(it);
}
+ else
+ it++;
}
fixed_t Channel::get_sample()