mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-08 15:54:57 +01:00
Fix crash when duplicating track(s)
Compare to PluginInsert::set_state(). The sidechain must not inherit the name from the template track. That leads to port-name ambiguities. Also later there will be a crash when ::update_sidechain_name() calls IO::set_name since: _name is not found in _current_name.
This commit is contained in:
parent
4c433106a4
commit
7128c9958f
3 changed files with 6 additions and 2 deletions
|
|
@ -1141,6 +1141,7 @@ IO::set_name (const string& requested_name)
|
||||||
|
|
||||||
for (PortSet::iterator i = _ports.begin(); i != _ports.end(); ++i) {
|
for (PortSet::iterator i = _ports.begin(); i != _ports.end(); ++i) {
|
||||||
string current_name = i->name();
|
string current_name = i->name();
|
||||||
|
assert (current_name.find (_name) != std::string::npos);
|
||||||
current_name.replace (current_name.find (_name), _name.val().length(), name);
|
current_name.replace (current_name.find (_name), _name.val().length(), name);
|
||||||
i->set_name (current_name);
|
i->set_name (current_name);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3167,7 +3167,6 @@ Route::set_processor_state (const XMLNode& node, int version)
|
||||||
_triggerbox->set_owner (this);
|
_triggerbox->set_owner (this);
|
||||||
}
|
}
|
||||||
_triggerbox->set_state (**niter, version);
|
_triggerbox->set_state (**niter, version);
|
||||||
_triggerbox->update_sidechain_name ();
|
|
||||||
|
|
||||||
new_order.push_back (_triggerbox);
|
new_order.push_back (_triggerbox);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -3223,7 +3223,11 @@ TriggerBox::set_state (const XMLNode& node, int version)
|
||||||
if (scnode) {
|
if (scnode) {
|
||||||
add_midi_sidechain ();
|
add_midi_sidechain ();
|
||||||
assert (_sidechain);
|
assert (_sidechain);
|
||||||
_sidechain->set_state (*scnode, version);
|
if (!regenerate_xml_or_string_ids ()) {
|
||||||
|
_sidechain->set_state (*scnode, version);
|
||||||
|
} else {
|
||||||
|
update_sidechain_name ();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue