Don’t use invalid iterator during cleanup. fixes #6403
This commit is contained in:
@@ -2888,6 +2888,8 @@ Session::cleanup_sources (CleanupReport& rep)
|
|||||||
in the region list.
|
in the region list.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
std::string fpath = i->second->name ();
|
||||||
|
|
||||||
RegionFactory::remove_regions_using_source (i->second);
|
RegionFactory::remove_regions_using_source (i->second);
|
||||||
sources.erase (i);
|
sources.erase (i);
|
||||||
|
|
||||||
@@ -2895,7 +2897,7 @@ Session::cleanup_sources (CleanupReport& rep)
|
|||||||
|
|
||||||
for (set<string>::iterator j = all_sources.begin(); j != all_sources.end(); ++j) {
|
for (set<string>::iterator j = all_sources.begin(); j != all_sources.end(); ++j) {
|
||||||
spath = Glib::path_get_basename (*j);
|
spath = Glib::path_get_basename (*j);
|
||||||
if ( spath == i->second->name () ) {
|
if ( spath == fpath ) {
|
||||||
all_sources.erase (j);
|
all_sources.erase (j);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user