summaryrefslogtreecommitdiff
path: root/gtk2_ardour/gui_object.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-03-30 15:27:18 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2015-03-30 15:27:23 -0400
commit75e0f5a023b5485a6f6efb3ebd6f2ae21f5a041b (patch)
tree1f8c91929737d61ba785b463076f9b92427655ff /gtk2_ardour/gui_object.cc
parent16be88cdb6bdf1db167de6d3488e3599e6d9eeb1 (diff)
remove GUI object state when tracks/busses are removed.
Not doing this results in accumulation of useless GUI object state which is never cleaned up. Taken from work by Grygorii Zharun.
Diffstat (limited to 'gtk2_ardour/gui_object.cc')
-rw-r--r--gtk2_ardour/gui_object.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/gtk2_ardour/gui_object.cc b/gtk2_ardour/gui_object.cc
index 3e21f82fa4..b00cd5ae54 100644
--- a/gtk2_ardour/gui_object.cc
+++ b/gtk2_ardour/gui_object.cc
@@ -71,6 +71,16 @@ GUIObjectState::get_or_add_node (const string& id)
return get_or_add_node (&_state, id);
}
+/** Remove node with provided id.
+ * @param id property of Object node to look for.
+ */
+
+void
+GUIObjectState::remove_node (const std::string& id)
+{
+ _state.remove_nodes_and_delete(X_("id"), id );
+}
+
/** Get a string from our state.
* @param id property of Object node to look for.
* @param prop_name name of the Object property to return.