[ardour-dev] weekly 1.0 progress report
nickm at go2.ie
Mon Nov 29 12:05:07 PST 2004
Paul Davis wrote:
> your analysis "should" be incorrect. the regions pointed to by the
> region list are not present in any playlist (they are copied by the
> session before being pointed to).
My analysis was indeed incorrect, but I figured out the problem.
When an AudioRegion is destroyed, it emits a GoingAway signal.
This is attached to Session::remove_region().
In ~Session, the AudioRegion objects in audio_regions are deleted using
an AudioRegionList::iterator. Each delete results in a call to
Session::remove_region(), which attempts to modify audio_regions while
it is being iterated over!
This is easily fixed by making a copy of audio_regions to iterate over
for the delete. Patch in mantis. Please commit!
More information about the Ardour-Dev