[ardour-dev] [PATCH]ardour_region-overlap-crash.diff

Paul Davis paul at linuxaudiosystems.com
Fri Dec 31 19:30:08 PST 2004


> jack_nframes_t
> Crossfade::length () const
> {
>- return _left->last_frame() - _right->first_frame();
>+ return _left->first_frame() + _left->length() - _right->first_frame();
> }

applied with other checks. thanks.
 
>And a question:
>If Crossfade::Crossfade() throws failed_constructor(), then the memory used by
> it's instance isn't freed, no?
>To regain memory the exception transmitted should communicate the instance's t
>his pointer and the catch handler would call delete on it?

my understanding is that C++ requires that a constructor exited by
throw() automatically causes operator delete() to be called on the
object at the end of the catch() block.

--p



More information about the Ardour-Dev mailing list