Fix a very stupid memleak in own bpy_app_translations.c code...

Safe for 2.73.
This commit is contained in:
Bastien Montagne 2014-12-27 17:24:39 +01:00
parent 155bb058f4
commit 2b226d9578

@ -241,12 +241,9 @@ static void _build_translations_cache(PyObject *py_messages, const char *locale)
}
/* Clean up! */
if (language)
MEM_freeN(language);
if (language_country)
MEM_freeN(language_country);
if (language_variant)
MEM_freeN(language_variant);
MEM_SAFE_FREE(language);
MEM_SAFE_FREE(language_country);
MEM_SAFE_FREE(language_variant);
}
const char *BPY_app_translations_py_pgettext(const char *msgctxt, const char *msgid)
@ -631,6 +628,7 @@ PyDoc_STRVAR(app_translations_locale_explode_doc,
);
static PyObject *app_translations_locale_explode(BlenderAppTranslations *UNUSED(self), PyObject *args, PyObject *kw)
{
PyObject *ret_tuple;
static const char *kwlist[] = {"locale", NULL};
const char *locale;
char *language, *country, *variant, *language_country, *language_variant;
@ -641,7 +639,15 @@ static PyObject *app_translations_locale_explode(BlenderAppTranslations *UNUSED(
BLF_locale_explode(locale, &language, &country, &variant, &language_country, &language_variant);
return Py_BuildValue("sssss", language, country, variant, language_country, language_variant);
ret_tuple = Py_BuildValue("sssss", language, country, variant, language_country, language_variant);
MEM_SAFE_FREE(language);
MEM_SAFE_FREE(country);
MEM_SAFE_FREE(variant);
MEM_SAFE_FREE(language_country);
MEM_SAFE_FREE(language_variant);
return ret_tuple;
}
static PyMethodDef app_translations_methods[] = {