diff --git a/src/gui/doAction.cpp b/src/gui/doAction.cpp index 168acee83..29bc08bd2 100644 --- a/src/gui/doAction.cpp +++ b/src/gui/doAction.cpp @@ -772,9 +772,19 @@ void FurnaceGUI::doAction(int what) { case GUI_ACTION_WAVE_LIST_ADD: { + std::vector alreadyDone; waveSizeList.clear(); for (int i=0; isong.systemLen; i++) { + bool skip=false; + for (DivSystem j: alreadyDone) { + if (e->song.system[i]==j) { + skip=true; + break; + } + } + if (skip) continue; const DivSysDef* sysDef=e->getSystemDef(e->song.system[i]); + alreadyDone.push_back(e->song.system[i]); if (sysDef==NULL) continue; if (sysDef->waveHeight==0) continue;