On 10/17/12 02:35, Daniel Lehman wrote: @@ -7241,10 +7241,11 @@ void __thiscall locale__Locimp_dtor(locale__Locimp *this) MSVCP_size_t i; for(i=0; i<this->facet_cnt; i++) if(this->facetvec[i] && locale_facet__Decref(this->facetvec[i])) - call_locale_facet_vector_dtor(this->facetvec[i], 0); + call_locale_facet_vector_dtor(this->facetvec[i], 1);
MSVCRT_operator_delete(this->facetvec); MSVCP_basic_string_char_dtor(&this->name); + MSVCRT_operator_delete(this); } } Memory allocated for locale__Locimp object should be freed in locale class (locale_dtor function). You can't delete it here.
Cheers, Piotr