File: b359c3d4131cb58b868107f0dc64c9c0e705749c.diff

package info (click to toggle)
musescore3 3.2.3%2Bdfsg2-21
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 219,852 kB
  • sloc: cpp: 291,412; xml: 200,226; sh: 3,779; ansic: 1,447; python: 393; makefile: 246; perl: 82; pascal: 79
file content (46 lines) | stat: -rw-r--r-- 1,324 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Forwarded: part of Origin PR by Jojo-Schmitz
Origin: https://github.com/musescore/MuseScore/pull/9000
Author: Hans Petter Selasky <hps@selasky.org>
Description: Fix GH#10407: ALSA sequencer device leaks when toggling MIDI ON/OFF

--- a/mscore/alsa.cpp
+++ b/mscore/alsa.cpp
@@ -617,6 +617,7 @@ AlsaAudio::~AlsaAudio()
       {
       stop();
       delete alsa;
+      delete midiDriver;
       }
 
 //---------------------------------------------------------
--- a/mscore/alsamidi.h
+++ b/mscore/alsamidi.h
@@ -47,7 +47,7 @@ class AlsaMidiDriver : public MidiDriver
 
    public:
       AlsaMidiDriver(Seq* s);
-      virtual ~AlsaMidiDriver() {}
+      ~AlsaMidiDriver();
       virtual bool init();
       virtual Port registerOutPort(const QString& name);
       virtual Port registerInPort(const QString& name);
--- a/mscore/mididriver.cpp
+++ b/mscore/mididriver.cpp
@@ -131,10 +131,16 @@ static const unsigned int outCap = SND_S
 //---------------------------------------------------------
 
 AlsaMidiDriver::AlsaMidiDriver(Seq* s)
-   : MidiDriver(s)
+   : MidiDriver(s), alsaSeq(0)
       {
       }
 
+AlsaMidiDriver::~AlsaMidiDriver()
+      {
+      if (alsaSeq)
+            snd_seq_close(alsaSeq);
+      }
+
 //---------------------------------------------------------
 //   init
 //    return false on error