fix crash on export if no master bus is present in the session
authorRobin Gareus <robin@gareus.org>
Sun, 5 May 2013 22:15:48 +0000 (00:15 +0200)
committerRobin Gareus <robin@gareus.org>
Sun, 5 May 2013 22:15:48 +0000 (00:15 +0200)
gtk2_ardour/export_channel_selector.cc
libs/ardour/export_profile_manager.cc

index 6f32ae783e3b75e244246d7f6ece1b8cd68fc7e5..10e3135b53b7b8f7de3774e7f99cdecef1c9416f 100644 (file)
@@ -110,8 +110,10 @@ PortExportChannelSelector::fill_route_list ()
 
        /* Add master bus and then everything else */
 
-       ARDOUR::IO* master = _session->master_out()->output().get();
-       channel_view.add_route (master);
+       if (_session->master_out()) {
+               ARDOUR::IO* master = _session->master_out()->output().get();
+               channel_view.add_route (master);
+       }
 
        for (RouteList::iterator it = routes.begin(); it != routes.end(); ++it) {
                if ((*it)->is_master () || (*it)->is_monitor ()) {
index deeb3aea2b07862873f43945d642f73b8ba70c7e..388ffe25081789bd04ec37fa6af5e2a2ad507ee6 100644 (file)
@@ -501,6 +501,8 @@ ExportProfileManager::init_channel_configs (XMLNodeList nodes)
                channel_configs.push_back (config);
 
                // Add master outs as default
+               if (!session.master_out()) { return false; }
+
                IO* master_out = session.master_out()->output().get();
                if (!master_out) { return false; }