| Fixed a major bug in which the Csound memory manager (C style) was
allocating and deallocating a C++ structure (WIDGETS_GLOBALS).
If new is not called for WIDGETS_GLOBALS, the constructors of its
std::vector collections are not called. Then in the widget
csoundDestroyModule function, invalid vectors are iterated,
causing an access violation. Fixed by using standard C++
new and delete for the structure to ensure proper creation of its
vector members. This is OK because by calling csoundModuleInit
and csoundModuleDestroy, Csound is permitting the module to
manage its own memory.
This was causing csound5gui to crash on exit or stopping in the MSVC build.
Regards,
Mike
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net |