plug qt_initLocale() memory leak

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
This commit is contained in:
Ivailo Monev 2019-12-30 11:44:54 +00:00
parent cdabe77b9c
commit 76e9cb8220

View file

@ -279,12 +279,18 @@ double qstrtod(const char *s00, const char **se, bool *ok)
*/ */
static UCollator *icuCollator = Q_NULLPTR; static UCollator *icuCollator = Q_NULLPTR;
bool qt_initLocale(const QString &locale) static void qt_deinitLocale()
{ {
if (icuCollator) { if (icuCollator) {
ucol_close(icuCollator); ucol_close(icuCollator);
icuCollator = Q_NULLPTR; icuCollator = Q_NULLPTR;
} }
}
Q_DESTRUCTOR_FUNCTION(qt_deinitLocale);
bool qt_initLocale(const QString &locale)
{
qt_deinitLocale();
UErrorCode error = U_ZERO_ERROR; UErrorCode error = U_ZERO_ERROR;
icuCollator = ucol_open(locale.toLatin1().constData(), &error); icuCollator = ucol_open(locale.toLatin1().constData(), &error);