summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-06-15 04:09:48 +0200
committerRobin Gareus <robin@gareus.org>2014-06-15 13:24:39 +0200
commit12cf9d5be806437a52636a6e4bd8ee5baf46c49a (patch)
treefd1d39cc982cd548075cb588b0e8fc55c415853d
parent55d51d38cef6c293560a83a6a81bca2fd96f2bcb (diff)
fix pathscanner / stl_vector related memory leaks
-rw-r--r--gtk2_ardour/ardour_ui.cc3
-rw-r--r--gtk2_ardour/session_dialog.cc3
-rw-r--r--libs/ardour/audio_unit.cc1
-rw-r--r--libs/ardour/lv2_plugin.cc2
-rw-r--r--libs/ardour/panner_manager.cc1
-rw-r--r--libs/ardour/plugin_manager.cc10
-rw-r--r--libs/ardour/template_utils.cc3
-rw-r--r--libs/pbd/file_utils.cc1
-rw-r--r--libs/surfaces/mackie/device_info.cc2
-rw-r--r--libs/surfaces/mackie/device_profile.cc2
10 files changed, 28 insertions, 0 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 0b9b3b4c56..3ad33b5c8c 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -50,6 +50,7 @@
#include "pbd/enumwriter.h"
#include "pbd/memento_command.h"
#include "pbd/openuri.h"
+#include "pbd/stl_delete.h"
#include "pbd/file_utils.h"
#include "pbd/localtime_r.h"
@@ -1437,6 +1438,8 @@ ARDOUR_UI::redisplay_recent_sessions ()
/* no state file? */
continue;
}
+ vector_delete(states);
+ delete(states);
std::vector<string> state_file_names(get_file_names_no_extension (state_file_paths));
diff --git a/gtk2_ardour/session_dialog.cc b/gtk2_ardour/session_dialog.cc
index a541c90c40..178fcb835c 100644
--- a/gtk2_ardour/session_dialog.cc
+++ b/gtk2_ardour/session_dialog.cc
@@ -31,6 +31,7 @@
#include "pbd/replace_all.h"
#include "pbd/whitespace.h"
#include "pbd/stacktrace.h"
+#include "pbd/stl_delete.h"
#include "pbd/openuri.h"
#include "ardour/audioengine.h"
@@ -642,6 +643,8 @@ SessionDialog::redisplay_recent_sessions ()
/* no state file? */
continue;
}
+ vector_delete (states);
+ delete (states);
std::vector<string> state_file_names(get_file_names_no_extension (state_file_paths));
diff --git a/libs/ardour/audio_unit.cc b/libs/ardour/audio_unit.cc
index 9e461c6346..cf489751cb 100644
--- a/libs/ardour/audio_unit.cc
+++ b/libs/ardour/audio_unit.cc
@@ -2082,6 +2082,7 @@ AUPlugin::find_presets ()
delete *x;
}
+ vector_delete (preset_files);
delete preset_files;
/* now fill the vector<string> with the names we have */
diff --git a/libs/ardour/lv2_plugin.cc b/libs/ardour/lv2_plugin.cc
index 33b02a76e3..8fac9369b0 100644
--- a/libs/ardour/lv2_plugin.cc
+++ b/libs/ardour/lv2_plugin.cc
@@ -33,6 +33,7 @@
#include "pbd/clear_dir.h"
#include "pbd/pathscanner.h"
+#include "pbd/stl_delete.h"
#include "pbd/compose.h"
#include "pbd/error.h"
#include "pbd/xml++.h"
@@ -2027,6 +2028,7 @@ LV2World::load_bundled_plugins()
lilv_node_free(node);
}
}
+ vector_delete (plugin_objects);
delete (plugin_objects);
_bundle_checked = true;
diff --git a/libs/ardour/panner_manager.cc b/libs/ardour/panner_manager.cc
index b14c7c79cf..0cc95c8e7a 100644
--- a/libs/ardour/panner_manager.cc
+++ b/libs/ardour/panner_manager.cc
@@ -103,6 +103,7 @@ PannerManager::discover_panners ()
}
vector_delete (panner_modules);
+ delete (panner_modules);
}
int
diff --git a/libs/ardour/plugin_manager.cc b/libs/ardour/plugin_manager.cc
index 7c3eae538f..c638ff2e86 100644
--- a/libs/ardour/plugin_manager.cc
+++ b/libs/ardour/plugin_manager.cc
@@ -252,6 +252,7 @@ PluginManager::clear_vst_cache ()
}
}
vector_delete(fsi_files);
+ delete(fsi_files);
}
#endif
@@ -266,6 +267,7 @@ PluginManager::clear_vst_cache ()
}
}
vector_delete(fsi_files);
+ delete(fsi_files);
}
#endif
@@ -281,6 +283,7 @@ PluginManager::clear_vst_cache ()
}
}
vector_delete(fsi_files);
+ delete(fsi_files);
}
#endif
}
@@ -300,6 +303,7 @@ PluginManager::clear_vst_blacklist ()
}
}
vector_delete(fsi_files);
+ delete(fsi_files);
}
#endif
@@ -314,6 +318,7 @@ PluginManager::clear_vst_blacklist ()
}
}
vector_delete(fsi_files);
+ delete(fsi_files);
}
#endif
@@ -330,6 +335,7 @@ PluginManager::clear_vst_blacklist ()
}
}
vector_delete(fsi_files);
+ delete(fsi_files);
}
#endif
}
@@ -424,6 +430,7 @@ PluginManager::add_presets(string domain)
}
vector_delete (presets);
+ delete (presets);
}
#endif
}
@@ -448,6 +455,7 @@ PluginManager::add_lrdf_data (const string &path)
}
vector_delete (rdf_files);
+ delete (rdf_files);
}
#endif
}
@@ -669,6 +677,7 @@ PluginManager::windows_vst_discover_from_path (string path, bool cache_only)
}
vector_delete (plugin_objects);
+ delete (plugin_objects);
}
return ret;
@@ -793,6 +802,7 @@ PluginManager::lxvst_discover_from_path (string path, bool cache_only)
}
vector_delete (plugin_objects);
+ delete (plugin_objects);
}
return ret;
diff --git a/libs/ardour/template_utils.cc b/libs/ardour/template_utils.cc
index 8efe311536..86881adfc3 100644
--- a/libs/ardour/template_utils.cc
+++ b/libs/ardour/template_utils.cc
@@ -24,6 +24,7 @@
#include "pbd/basename.h"
#include "pbd/pathscanner.h"
+#include "pbd/stl_delete.h"
#include "pbd/xml++.h"
#include "ardour/template_utils.h"
@@ -110,6 +111,7 @@ find_session_templates (vector<TemplateInfo>& template_names)
template_names.push_back (rti);
}
+ vector_delete (templates);
delete templates;
}
@@ -145,6 +147,7 @@ find_route_templates (vector<TemplateInfo>& template_names)
template_names.push_back (rti);
}
+ vector_delete (templates);
delete templates;
}
diff --git a/libs/pbd/file_utils.cc b/libs/pbd/file_utils.cc
index dd9805a3f3..756bd24fe4 100644
--- a/libs/pbd/file_utils.cc
+++ b/libs/pbd/file_utils.cc
@@ -238,6 +238,7 @@ copy_files(const std::string & from_path, const std::string & to_dir)
copy_file (from, to);
}
vector_delete (files);
+ delete (files);
}
}
diff --git a/libs/surfaces/mackie/device_info.cc b/libs/surfaces/mackie/device_info.cc
index 04cbfecc56..a2aeaa08aa 100644
--- a/libs/surfaces/mackie/device_info.cc
+++ b/libs/surfaces/mackie/device_info.cc
@@ -25,6 +25,7 @@
#include "pbd/error.h"
#include "pbd/pathscanner.h"
#include "pbd/convert.h"
+#include "pbd/stl_delete.h"
#include "ardour/filesystem_paths.h"
@@ -509,6 +510,7 @@ DeviceInfo::reload_device_info ()
}
}
+ vector_delete (devinfos);
delete devinfos;
}
diff --git a/libs/surfaces/mackie/device_profile.cc b/libs/surfaces/mackie/device_profile.cc
index ddbb4782db..73e885d8c5 100644
--- a/libs/surfaces/mackie/device_profile.cc
+++ b/libs/surfaces/mackie/device_profile.cc
@@ -25,6 +25,7 @@
#include "pbd/xml++.h"
#include "pbd/error.h"
#include "pbd/pathscanner.h"
+#include "pbd/stl_delete.h"
#include "pbd/replace_all.h"
#include "ardour/filesystem_paths.h"
@@ -126,6 +127,7 @@ DeviceProfile::reload_device_profiles ()
}
}
+ vector_delete (devprofiles);
delete devprofiles;
}