From e281f5653c804f0eae07bd541f812b9534ec37e9 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 30 Dec 2013 16:24:27 +0100 Subject: fix assert for non-existing MIDI patch-names typename boost::detail::sp_member_access::type boost::shared_ptr::operator->() const [with T = MIDI::Name::ChannelNameSet; typename boost::detail::sp_member_access::type = MIDI::Name::ChannelNameSet*]: Assertion `px != 0' failed. --- libs/midi++2/midnam_patch.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libs/midi++2') diff --git a/libs/midi++2/midnam_patch.cc b/libs/midi++2/midnam_patch.cc index bf22792f70..bd8bbfc42d 100644 --- a/libs/midi++2/midnam_patch.cc +++ b/libs/midi++2/midnam_patch.cc @@ -542,7 +542,9 @@ MasterDeviceNames::channel_name_set_by_device_mode_and_channel(const std::string boost::shared_ptr MasterDeviceNames::find_patch(const std::string& mode, uint8_t channel, const PatchPrimaryKey& key) { - return channel_name_set_by_device_mode_and_channel(mode, channel)->find_patch(key); + boost::shared_ptr cns = channel_name_set_by_device_mode_and_channel(mode, channel); + if (!cns) return boost::shared_ptr(); + return cns->find_patch(key); } boost::shared_ptr -- cgit v1.2.3