Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37402779
en ru br
Репозитории ALT

Группа :: Видео
Пакет: avidemux-qt

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: alt-crash-retranslate.patch
Скачать


--- a/avidemux/qt4/ADM_userInterfaces/translator.cpp
+++ b/avidemux/qt4/ADM_userInterfaces/translator.cpp
@@ -15,7 +15,7 @@
 #define MAX_UNLOADED_MSG_LENGTH 400
 static QTranslator *qtTranslator;
 static QTranslator *avidemuxTranslator;
-static QMap<QString, char*> *map = NULL;
+static QMap<QString, char*> *map = new QMap<QString, char*>;
 static bool translatorLoaded = false;
 
 static int loadTranslation(QTranslator *qTranslator, QString translation)
@@ -36,9 +36,6 @@ const char* qt4Translate(const char *__d
 {
     QString msgid = QString(__msgid);
 
-    if (!map)
-        map = new QMap<QString, char*>;
-
     if (!map->contains(msgid))
     {
         QByteArray translatedMessage = QApplication::translate(__domainname, __msgid).toUtf8();
@@ -53,7 +50,7 @@ const char* qt4Translate(const char *__d
 
         memcpy(buffer, translatedMessage.constData(), copyLength);
 
-        (*map)[msgid] = buffer;
+        map->insert(msgid,buffer);
     }
 //#warning DANGEROUS FIXME
     return map->value(msgid); // dangerous
@@ -142,17 +139,6 @@ void loadTranslator(void)
 
 void destroyTranslator(void)
 {
-    if (map)
-    {
-        QMapIterator<QString, char*> mapIterator(*map);
-
-        while (mapIterator.hasNext())
-        {
-            mapIterator.next();
-            delete [] mapIterator.value();
-        }
-
-        delete map;
-    }
+    map->clear();
 }
 
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin