diff options
-rw-r--r-- | backends/midi/alsa.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/backends/midi/alsa.cpp b/backends/midi/alsa.cpp index a82fffdf0d..6a1a8e88ae 100644 --- a/backends/midi/alsa.cpp +++ b/backends/midi/alsa.cpp @@ -150,10 +150,13 @@ int MidiDriver_ALSA::open() { } void MidiDriver_ALSA::close() { - _isOpen = false; - MidiDriver_MPU401::close(); - if (seq_handle) - snd_seq_close(seq_handle); + if (_isOpen) { + _isOpen = false; + MidiDriver_MPU401::close(); + if (seq_handle) + snd_seq_close(seq_handle); + } else + warning("MidiDriver_ALSA: Closing the driver before opening it"); } void MidiDriver_ALSA::send(uint32 b) { |