Group :: Video
RPM: avidemux-qt
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Patch: alt-crash-retranslate.patch
Download
Download
--- 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();
}