// ----------------------------------------------------------------------------
 // Command processor
 // ----------------------------------------------------------------------------
 // ----------------------------------------------------------------------------
 // Command processor
 // ----------------------------------------------------------------------------
     {
         wxCommand *command = (wxCommand *)m_currentCommand->GetData();
         wxString commandName(command->GetName());
     {
         wxCommand *command = (wxCommand *)m_currentCommand->GetData();
         wxString commandName(command->GetName());
         {
             wxCommand *redoCommand = (wxCommand *)m_currentCommand->GetNext()->GetData();
             wxString redoCommandName(redoCommand->GetName());
         {
             wxCommand *redoCommand = (wxCommand *)m_currentCommand->GetNext()->GetData();
             wxString redoCommandName(redoCommand->GetName());
             // we've undone to the start of the list, but can redo the first.
             wxCommand *redoCommand = (wxCommand *)m_commands.GetFirst()->GetData();
             wxString redoCommandName(redoCommand->GetName());
             // we've undone to the start of the list, but can redo the first.
             wxCommand *redoCommand = (wxCommand *)m_commands.GetFirst()->GetData();
             wxString redoCommandName(redoCommand->GetName());