-
- assert(region);
- region->set_start (_trackview.track()->current_capture_start() - _trackview.track()->get_capture_start_frame (0));
- region->set_position (_trackview.track()->current_capture_start());
- RegionView* rv = add_region_view_internal (region, false);
- MidiRegionView* mrv = dynamic_cast<MidiRegionView*> (rv);
- mrv->begin_write ();
-
- rec_regions.push_back (make_pair (region, rv));
-
- // rec regions are destroyed in setup_rec_box
-
- /* we add the region later */
-
- setup_new_rec_layer_time (region);
+ if (region) {
+ region->set_start (_trackview.track()->current_capture_start()
+ - _trackview.track()->get_capture_start_frame (0));
+ region->set_position (_trackview.track()->current_capture_start());
+ RegionView* rv = add_region_view_internal (region, false);
+ MidiRegionView* mrv = dynamic_cast<MidiRegionView*> (rv);
+ mrv->begin_write ();
+
+
+ /* rec region will be destroyed in setup_rec_box */
+ rec_regions.push_back (make_pair (region, rv));
+
+ /* we add the region later */
+ setup_new_rec_layer_time (region);
+ } else {
+ error << _("failed to create MIDI region") << endmsg;
+ }