diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc index 5096401226..e4febc5314 100644 --- a/libs/ardour/session_state.cc +++ b/libs/ardour/session_state.cc @@ -2663,16 +2663,10 @@ Session::cleanup_regions () for (RegionFactory::RegionMap::const_iterator i = regions.begin(); i != regions.end(); ++i) { - boost::shared_ptr audio_region = boost::dynamic_pointer_cast( i->second); + uint32_t used = playlists->region_use_count (i->second); - if (!audio_region) { - continue; - } - - uint32_t used = playlists->region_use_count (audio_region); - - if (used == 0 && !audio_region->automatic()) { - RegionFactory::map_remove(i->second); + if (used == 0 && !i->second->automatic ()) { + RegionFactory::map_remove (i->second); } }