diff --git a/gtk2_ardour/tracks_control_panel.logic.cc b/gtk2_ardour/tracks_control_panel.logic.cc index e00a692bf2..7848a4d841 100644 --- a/gtk2_ardour/tracks_control_panel.logic.cc +++ b/gtk2_ardour/tracks_control_panel.logic.cc @@ -46,13 +46,15 @@ using namespace Glib; #define dbg_msg(a) MessageDialog (a, PROGRAM_NAME).run(); namespace { - // if pattern is not found out_str == in_str bool remove_pattern_from_string(const std::string& in_str, const std::string& pattern, std::string& out_str) { - if (in_str.find(pattern) != std::string::npos ) { - out_str = in_str.substr(pattern.size() ); + + out_str.assign(in_str); + + size_t pos = in_str.find(pattern); + if ( pos != std::string::npos ) { + out_str.erase(pos, pattern.length() ); return true; } else { - out_str = in_str; return false; } }