msvcp: free facet and _Locimp in Locimp dtor

Piotr Caban piotr.caban at gmail.com
Wed Oct 17 03:24:28 CDT 2012


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



More information about the wine-devel mailing list