plug some leaks
authorRobin Gareus <robin@gareus.org>
Sun, 15 Jun 2014 11:04:47 +0000 (13:04 +0200)
committerRobin Gareus <robin@gareus.org>
Sun, 15 Jun 2014 11:24:41 +0000 (13:24 +0200)
libs/ardour/globals.cc
libs/ardour/midi_diskstream.cc
libs/ardour/panner_manager.cc
libs/gtkmm2ext/gtk_ui.cc
libs/pbd/pbd/abstract_ui.cc

index 39bcd1b79e8c6249fecd8a7e2b13fa6117bbe8ee..054ffffe51df8408bb0935add74ee4940b82ac61 100644 (file)
@@ -390,6 +390,8 @@ ARDOUR::cleanup ()
 #ifdef LXVST_SUPPORT
        vstfx_exit();
 #endif
+       delete &PluginManager::instance();
+       delete Config;
        PBD::cleanup ();
 
        return;
index 7c75c8d2e6e35b043d65754e478ed15fac319866..1cc69263f0a472ef079e8b6c36adc91a53f30797 100644 (file)
@@ -138,6 +138,8 @@ MidiDiskstream::init ()
 MidiDiskstream::~MidiDiskstream ()
 {
        Glib::Threads::Mutex::Lock lm (state_lock);
+       delete _playback_buf;
+       delete _capture_buf;
 }
 
 
index 0cc95c8e7a536b5eaac2f14161d48f64ca0b2f0a..95136c29518ceeb0663b6826c30544c550e46df6 100644 (file)
@@ -124,6 +124,8 @@ PannerManager::panner_discover (string path)
                if (i == panner_info.end()) {
                        panner_info.push_back (pinfo);
                        DEBUG_TRACE (DEBUG::Panning, string_compose(_("Panner discovered: \"%1\" in %2\n"), pinfo->descriptor.name, path));
+               } else {
+                       delete pinfo;
                }
        }
 
index 294c004a06517e593b1e50f9ee8b14ab2d6f1cab..6a490e1bb055c6be634968ba750e7303a42e0031 100644 (file)
@@ -70,6 +70,7 @@ template class AbstractUI<Gtkmm2ext::UIRequest>;
 UI::UI (string namestr, int *argc, char ***argv)
        : AbstractUI<UIRequest> (namestr)
        , _receiver (*this)
+       , errors (0)
          
 {
        theMain = new Main (argc, argv);
@@ -124,6 +125,7 @@ UI::UI (string namestr, int *argc, char ***argv)
 UI::~UI ()
 {
        _receiver.hangup ();
+       delete (errors);
 }
 
 bool
index 8841301afe50b1dc3098ac0ec74f73d05447b872..cf5292b9e6e7624d173f6ea015548b3dc48fe9bf 100644 (file)
@@ -211,6 +211,7 @@ AbstractUI<RequestObject>::handle_ui_requests ()
                                         if (vec.buf[0]->invalidation) {
                                                 vec.buf[0]->invalidation->requests.remove (vec.buf[0]);
                                         }
+                                        delete vec.buf[0];
                                         i->second->increment_read_ptr (1);
                                 }
                         } 
@@ -326,6 +327,7 @@ AbstractUI<RequestObject>::send_request (RequestObject *req)
                */
                DEBUG_TRACE (PBD::DEBUG::AbstractUI, string_compose ("%1/%2 direct dispatch of request type %3\n", name(), pthread_name(), req->type));
                do_request (req);
+               delete req;
        } else {        
 
                /* If called from a different thread, we first check to see if