From 216286c3f1f04d946914d0bf9e3124b501da38e0 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 11 Feb 2012 14:52:41 -0500 Subject: [PATCH] [editorKeysounds] keep keysound names unique. --- src/ScreenEdit.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index debdcbbbcd..4b97bfca6f 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -3235,8 +3235,16 @@ void ScreenEdit::HandleScreenMessage( const ScreenMessage SM ) const TapNote &oldNote = m_NoteDataEdit.GetTapNote(track, row); TapNote newNote = oldNote; // need to lose the const. not feeling like casting. vector &kses = m_pSong->m_vsKeysoundFile; - newNote.iKeysoundIndex = kses.size(); - kses.push_back(answer); + unsigned pos = find(kses.begin(), kses.end(), answer) - kses.begin(); + if (pos == kses.size()) + { + newNote.iKeysoundIndex = kses.size(); + kses.push_back(answer); + } + else + { + newNote.iKeysoundIndex = pos; + } if (newNote.type == TapNote::empty) newNote.type = TapNote::autoKeysound; // keysounds need something non empty. m_NoteDataEdit.SetTapNote(track, row, newNote);