prevent crash when loading midi port info about ports that no longer exist
This commit is contained in:
parent
5dce10500c
commit
a372fcbe51
@ -1207,19 +1207,25 @@ PortManager::fill_midi_port_info_locked ()
|
||||
for (MidiPortInfo::iterator x = midi_port_info.begin(); x != midi_port_info.end(); ++x) {
|
||||
PortEngine::PortHandle ph = _backend->get_port_by_name (x->first);
|
||||
|
||||
if (!ph) {
|
||||
/* port info saved from some condition where this port
|
||||
* existed, but no longer does (i.e. device unplugged
|
||||
* at present)
|
||||
*/
|
||||
continue;
|
||||
}
|
||||
|
||||
if (x->second.pretty_name != x->first) {
|
||||
/* name set in port info ... propagate */
|
||||
_backend->set_port_property (ph, "http://jackaudio.org/metadata/pretty-name", x->second.pretty_name, string());
|
||||
} else {
|
||||
/* check with backend for pre-existing pretty name */
|
||||
if (ph) {
|
||||
string value;
|
||||
string type;
|
||||
if (0 == _backend->get_port_property (ph,
|
||||
"http://jackaudio.org/metadata/pretty-name",
|
||||
value, type)) {
|
||||
x->second.pretty_name = value;
|
||||
}
|
||||
string value;
|
||||
string type;
|
||||
if (0 == _backend->get_port_property (ph,
|
||||
"http://jackaudio.org/metadata/pretty-name",
|
||||
value, type)) {
|
||||
x->second.pretty_name = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user