summaryrefslogtreecommitdiff
path: root/libs/surfaces/mackie/surface.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-02-05 17:59:29 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2016-02-05 17:59:29 -0500
commit3b1d1675de4a73d144ec3e895e542abf9a4e06e1 (patch)
tree9ffd0ea9a3550edc5c28168cfdbf2b050ed40cf0 /libs/surfaces/mackie/surface.cc
parentff14f4d63cea61852ffe3d63d1dbdf250b7d5584 (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.cc8
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 (