There is a bug in DL_Extrusion class: its ctor allocates "direction" variable using new but its dtor deletes it instead of using the correct delete. Output courtesy of valgrind:
I hope this report is useful and this bug could be fixed in the next version.
Code: Select all
==15986== Mismatched free() / delete / delete  ==15986== at 0x4C20E0D: operator delete(void*) (vg_replace_malloc.c:342) ==15986== by 0x4DB9E7: DL_Extrusion::~DL_Extrusion() (dl_extrusion.h:57) ==15986== by 0x4DBB40: DL_CreationInterface::~DL_CreationInterface() (dl_creationinterface.h:53) ==15986== by 0x4DBBF3: DL_CreationAdapter::~DL_CreationAdapter() (dl_creationadapter.h:42) ... my own code follows ... ==15986== Address 0x10d56e20 is 0 bytes inside a block of size 24 alloc'd ==15986== at 0x4C2188C: operator new(unsigned long) (vg_replace_malloc.c:274) ==15986== by 0x4DD9EB: DL_Extrusion::DL_Extrusion() (dl_extrusion.h:47) ==15986== by 0x4DDA5B: DL_CreationInterface::DL_CreationInterface() (dl_creationinterface.h:50) ==15986== by 0x4DDAD8: DL_CreationAdapter::DL_CreationAdapter() (dl_creationadapter.h:41) ... my own code follows ...