summaryrefslogtreecommitdiff
path: root/libs/backends/portaudio
diff options
context:
space:
mode:
Diffstat (limited to 'libs/backends/portaudio')
-rw-r--r--libs/backends/portaudio/portaudio_backend.cc2
-rw-r--r--libs/backends/portaudio/winmmemidi_io.cc4
2 files changed, 6 insertions, 0 deletions
diff --git a/libs/backends/portaudio/portaudio_backend.cc b/libs/backends/portaudio/portaudio_backend.cc
index f9fddf6169..420a45aae5 100644
--- a/libs/backends/portaudio/portaudio_backend.cc
+++ b/libs/backends/portaudio/portaudio_backend.cc
@@ -602,6 +602,8 @@ PortAudioBackend::stop ()
return 0;
}
+ _midiio->stop();
+
_run = false;
if (!stop_blocking_process_thread ()) {
diff --git a/libs/backends/portaudio/winmmemidi_io.cc b/libs/backends/portaudio/winmmemidi_io.cc
index 710456da0b..43c5d36469 100644
--- a/libs/backends/portaudio/winmmemidi_io.cc
+++ b/libs/backends/portaudio/winmmemidi_io.cc
@@ -145,6 +145,10 @@ WinMMEMidiIO::start ()
void
WinMMEMidiIO::stop ()
{
+ if (!m_run) {
+ DEBUG_MIDI ("MIDI driver already stopped\n");
+ return;
+ }
DEBUG_MIDI ("Stopping MIDI driver\n");
m_run = false;
stop_devices ();