diff --git a/libs/ardour/plugin_manager.cc b/libs/ardour/plugin_manager.cc index d868b1d00a..269cb0d801 100644 --- a/libs/ardour/plugin_manager.cc +++ b/libs/ardour/plugin_manager.cc @@ -582,6 +582,11 @@ PluginManager::ladspa_discover (string path) DEBUG_TRACE (DEBUG::PluginManager, string_compose ("LADSPA plugin found at %1\n", path)); for (uint32_t i = 0; ; ++i) { + /* if a ladspa plugin allocates memory here + * it is never free()ed (or plugin-dependent only when unloading). + * For some plugins memory allocated is incremental, we should + * avoid re-scanning plugins and file bug reports. + */ if ((descriptor = dfunc (i)) == 0) { break; } diff --git a/libs/ardour/tempo.cc b/libs/ardour/tempo.cc index e2de5ba49f..2a0ac50cc2 100644 --- a/libs/ardour/tempo.cc +++ b/libs/ardour/tempo.cc @@ -284,6 +284,7 @@ TempoMap::TempoMap (framecnt_t fr) start.beats = 1; start.ticks = 0; + // these leak memory, well Metrics does TempoSection *t = new TempoSection (start, _default_tempo.beats_per_minute(), _default_tempo.note_type()); MeterSection *m = new MeterSection (start, _default_meter.divisions_per_bar(), _default_meter.note_divisor()); diff --git a/libs/pbd/pbd/abstract_ui.cc b/libs/pbd/pbd/abstract_ui.cc index 40b4ea8d93..52dc3fa12a 100644 --- a/libs/pbd/pbd/abstract_ui.cc +++ b/libs/pbd/pbd/abstract_ui.cc @@ -444,7 +444,7 @@ AbstractUI::call_slot (InvalidationRecord* invalidation, const bo template void* AbstractUI::request_buffer_factory (uint32_t num_requests) { - RequestBuffer* mcr = new RequestBuffer (num_requests); + RequestBuffer* mcr = new RequestBuffer (num_requests); // leaks per_thread_request_buffer.set (mcr); return mcr; }