summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGary Scavone <gary@music.mcgill.ca>2014-03-28 15:34:59 -0400
committerGary Scavone <gary@music.mcgill.ca>2014-03-28 15:34:59 -0400
commit03e665c78e2d2dace24cb15d0126564ad7309045 (patch)
treeec6993a67c69d71c09edf6cf32d959aa4e6e744f
parent9a0454ce1a7e8e6feb3be58e9c275c859f743a36 (diff)
Bug fix to WinMM API in MidiIn destructor.
-rw-r--r--RtMidi.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/RtMidi.cpp b/RtMidi.cpp
index fc06be8..76bd143 100644
--- a/RtMidi.cpp
+++ b/RtMidi.cpp
@@ -2019,9 +2019,9 @@ static void CALLBACK midiInputCallback( HMIDIIN /*hmin*/,
// one or two minutes.
if ( apiData->sysexBuffer[sysex->dwUser]->dwBytesRecorded > 0 ) {
//if ( sysex->dwBytesRecorded > 0 ) {
- EnterCriticalSection( &apiData->_mutex );
+ EnterCriticalSection( &(apiData->_mutex) );
MMRESULT result = midiInAddBuffer( apiData->inHandle, apiData->sysexBuffer[sysex->dwUser], sizeof(MIDIHDR) );
- LeaveCriticalSection( &apiData->_mutex );
+ LeaveCriticalSection( &(apiData->_mutex) );
if ( result != MMSYSERR_NOERROR )
std::cerr << "\nRtMidiIn::midiInputCallback: error sending sysex to Midi device!!\n\n";
@@ -2057,12 +2057,12 @@ MidiInWinMM :: MidiInWinMM( const std::string clientName, unsigned int queueSize
MidiInWinMM :: ~MidiInWinMM()
{
- WinMidiData *data = static_cast<WinMidiData *> (apiData_);
- DeleteCriticalSection( &(data->_mutex) );
-
// Close a connection if it exists.
closePort();
+ WinMidiData *data = static_cast<WinMidiData *> (apiData_);
+ DeleteCriticalSection( &(data->_mutex) );
+
// Cleanup.
delete data;
}
@@ -2172,7 +2172,7 @@ void MidiInWinMM :: closePort( void )
{
if ( connected_ ) {
WinMidiData *data = static_cast<WinMidiData *> (apiData_);
- EnterCriticalSection( &data->_mutex );
+ EnterCriticalSection( &(data->_mutex) );
midiInReset( data->inHandle );
midiInStop( data->inHandle );
@@ -2190,7 +2190,7 @@ void MidiInWinMM :: closePort( void )
midiInClose( data->inHandle );
connected_ = false;
- LeaveCriticalSection( &data->_mutex );
+ LeaveCriticalSection( &(data->_mutex) );
}
}