diff --git a/aegisub/audio_karaoke.cpp b/aegisub/audio_karaoke.cpp index 886161c55..5ac413ddf 100644 --- a/aegisub/audio_karaoke.cpp +++ b/aegisub/audio_karaoke.cpp @@ -582,14 +582,18 @@ void AudioKaraoke::Join() { // Loop for (size_t i=0;itext.c_str(), curSyl->unstripped_text.c_str(), curSyl->duration); if (curSyl->selected) { if (!gotOne) { gotOne = true; first = i; } else { - syllables.at(i-1).duration += curSyl->duration; - syllables.at(i-1).unstripped_text += curSyl->unstripped_text; + AudioKaraokeSyllable &work = syllables.at(first); + wxLogDebug(_T("AudioKaraoke::Join: worksyl %d, text='%s', unstripped_text='%s', duration=%d"), i, work.text.c_str(), work.unstripped_text.c_str(), work.duration); + work.duration += curSyl->duration; + work.text += curSyl->text; + work.unstripped_text += curSyl->unstripped_text; syllables.erase(syllables.begin()+i); i--; syls--; @@ -605,6 +609,8 @@ void AudioKaraoke::Join() { display->NeedCommit = true; display->Update(); Refresh(false); + + wxLogDebug(_T("AudioKaraoke::Join: returning")); }