save and restore the clipboard when using it internally
This commit is contained in:
@@ -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 );
|
||||
|
||||
Reference in New Issue
Block a user