diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-02-05 17:59:29 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-02-05 17:59:29 -0500 |
commit | 3b1d1675de4a73d144ec3e895e542abf9a4e06e1 (patch) | |
tree | 9ffd0ea9a3550edc5c28168cfdbf2b050ed40cf0 /libs/surfaces/mackie/surface.cc | |
parent | ff14f4d63cea61852ffe3d63d1dbdf250b7d5584 (diff) |
mackie: stop crashes when switching to X-Touch Compact device
Diffstat (limited to 'libs/surfaces/mackie/surface.cc')
-rw-r--r-- | libs/surfaces/mackie/surface.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libs/surfaces/mackie/surface.cc b/libs/surfaces/mackie/surface.cc index c5b2fe5b1d..98ad7981ee 100644 --- a/libs/surfaces/mackie/surface.cc +++ b/libs/surfaces/mackie/surface.cc @@ -390,11 +390,15 @@ Surface::setup_master () } if (!_master_fader) { - _master_fader = dynamic_cast<Fader*> (Fader::factory (*this, _mcp.device_info().strip_cnt(), "master", *groups["master"])); - Groups::iterator group_it; group_it = groups.find("master"); + if (group_it == groups.end()) { + groups["master"] = new Group ("master"); + } + + _master_fader = dynamic_cast<Fader*> (Fader::factory (*this, _mcp.device_info().strip_cnt(), "master", *group_it->second)); + DeviceInfo device_info = _mcp.device_info(); GlobalButtonInfo master_button = device_info.get_global_button(Button::MasterFaderTouch); Button* bb = dynamic_cast<Button*> (Button::factory ( |