diff --git a/windows/winmme/JackWinMMEInputPort.cpp b/windows/winmme/JackWinMMEInputPort.cpp index 871934c4..7371cbf4 100644 --- a/windows/winmme/JackWinMMEInputPort.cpp +++ b/windows/winmme/JackWinMMEInputPort.cpp @@ -50,9 +50,9 @@ JackWinMMEInputPort::JackWinMMEInputPort(const char *alias_name, size_t max_bytes, size_t max_messages) { thread_queue = new JackMidiAsyncQueue(max_bytes, max_messages); - //std::auto_ptr thread_queue_ptr(thread_queue); + std::auto_ptr thread_queue_ptr(thread_queue); write_queue = new JackMidiBufferWriteQueue(); - //std::auto_ptr write_queue_ptr(write_queue); + std::auto_ptr write_queue_ptr(write_queue); sysex_buffer = new jack_midi_data_t[max_bytes]; char error_message[MAXERRORLENGTH]; MMRESULT result = midiInOpen(&handle, index, (DWORD)HandleMidiInputEvent, @@ -95,8 +95,8 @@ JackWinMMEInputPort::JackWinMMEInputPort(const char *alias_name, snprintf(name, sizeof(name) - 1, "%s:capture_%d", client_name, index + 1); jack_event = 0; started = false; - //write_queue_ptr.release(); - //thread_queue_ptr.release(); + write_queue_ptr.release(); + thread_queue_ptr.release(); return; unprepare_header: @@ -112,9 +112,6 @@ JackWinMMEInputPort::JackWinMMEInputPort(const char *alias_name, } delete_sysex_buffer: delete[] sysex_buffer; - // auto_ptr causing crash so explicitly deleting here... - delete thread_queue; - delete write_queue; throw std::runtime_error(error_message); } diff --git a/windows/winmme/JackWinMMEOutputPort.cpp b/windows/winmme/JackWinMMEOutputPort.cpp index 05e97362..01ac2f02 100644 --- a/windows/winmme/JackWinMMEOutputPort.cpp +++ b/windows/winmme/JackWinMMEOutputPort.cpp @@ -49,11 +49,11 @@ JackWinMMEOutputPort::JackWinMMEOutputPort(const char *alias_name, size_t max_messages) { read_queue = new JackMidiBufferReadQueue(); - //std::auto_ptr read_queue_ptr(read_queue); + std::auto_ptr read_queue_ptr(read_queue); thread_queue = new JackMidiAsyncQueue(max_bytes, max_messages); - //std::auto_ptr thread_queue_ptr(thread_queue); + std::auto_ptr thread_queue_ptr(thread_queue); thread = new JackThread(this); - //std::auto_ptr thread_ptr(thread); + std::auto_ptr thread_ptr(thread); char error_message[MAXERRORLENGTH]; MMRESULT result = midiOutOpen(&handle, index, (DWORD)HandleMessageEvent, (DWORD)this, CALLBACK_FUNCTION); @@ -84,9 +84,9 @@ JackWinMMEOutputPort::JackWinMMEOutputPort(const char *alias_name, snprintf(alias, sizeof(alias) - 1, "%s:%s:out%d", alias_name, name_tmp, index + 1); snprintf(name, sizeof(name) - 1, "%s:playback_%d", client_name, index + 1); - //thread_ptr.release(); - //thread_queue_ptr.release(); - //thread_ptr.release(); + read_queue_ptr.release(); + thread_queue_ptr.release(); + thread_ptr.release(); return; destroy_thread_queue_semaphore: @@ -100,10 +100,6 @@ JackWinMMEOutputPort::JackWinMMEOutputPort(const char *alias_name, result); } raise_exception: - // auto_ptr causing crash so explicitly deleting here... - delete read_queue; - delete thread_queue; - delete thread; throw std::runtime_error(error_message); }