save and restore the clipboard when using it internally

This commit is contained in:
Glenn Maynard
2004-08-18 23:02:27 +00:00
parent fd7c6b131c
commit cb344a63a2
+6 -3
View File
@@ -1775,6 +1775,7 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, int* iAnswers )
break;
case turn:
{
const NoteData OldClipboard( m_Clipboard );
HandleAreaMenuChoice( cut, NULL );
StepsType st = GAMESTATE->GetCurrentStyle()->m_StepsType;
@@ -1790,6 +1791,7 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, int* iAnswers )
}
HandleAreaMenuChoice( paste_at_begin_marker, NULL );
m_Clipboard = OldClipboard;
}
break;
case transform:
@@ -1825,6 +1827,7 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, int* iAnswers )
break;
case alter:
{
const NoteData OldClipboard( m_Clipboard );
HandleAreaMenuChoice( cut, NULL );
AlterType at = (AlterType)iAnswers[c];
@@ -1844,11 +1847,13 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, int* iAnswers )
}
HandleAreaMenuChoice( paste_at_begin_marker, NULL );
m_Clipboard = OldClipboard;
}
break;
case tempo:
{
// This affects ALL SETS OF STEPS; fun.
// This affects all steps.
const NoteData OldClipboard( m_Clipboard );
HandleAreaMenuChoice( cut, NULL );
AlterType at = (AlterType)iAnswers[c];
@@ -1909,8 +1914,6 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, int* iAnswers )
sIter[i]->SetNoteData( &ndTemp );
}
HandleAreaMenuChoice( paste_at_begin_marker, NULL );
m_NoteFieldEdit.m_fEndMarker = fNewClipboardEndBeat;
float fOldBPM = m_pSong->GetBPMAtBeat( m_NoteFieldEdit.m_fBeginMarker );