]> git.sesse.net Git - kdenlive/blobdiff - src/initeffects.cpp
When opening project, do not load unused producers at startup, only on demand (when...
[kdenlive] / src / initeffects.cpp
index abe49c4eb7012d6ae5eaf5cde14f4a7548a9f6a8..56e6c97734700d6d49ab470af520563549e9e942 100644 (file)
@@ -31,6 +31,8 @@
 #include <QDir>
 #include <QIcon>
 
+#include "locale.h"
+
 initEffectsThumbnailer::initEffectsThumbnailer() :
     QThread()
 {
@@ -133,7 +135,7 @@ QDomDocument initEffects::getUsedCustomEffects(QMap <QString, QString> effectids
 }
 
 //static
-void initEffects::parseEffectFiles()
+void initEffects::parseEffectFiles(const QString &locale)
 {
     QStringList::Iterator more;
     QStringList::Iterator it;
@@ -146,6 +148,9 @@ void initEffects::parseEffectFiles()
         return;
     }
 
+    // Warning: Mlt::Factory::init() resets the locale to the default system value, make sure we keep correct locale
+    if (!locale.isEmpty()) setlocale(LC_NUMERIC, locale.toUtf8().constData());
+    
     // Retrieve the list of MLT's available effects.
     Mlt::Properties *filters = repository->filters();
     QStringList filtersList;
@@ -336,7 +341,7 @@ void initEffects::parseCustomEffectsFile()
            }
            effectsMap.insert(groupName.toLower().toUtf8().data(), base);
         } else if (base.tagName() == "effect") {
-            effectsMap.insert(e.firstChildElement("name").text().toLower().toUtf8().data(), base);
+            effectsMap.insert(base.firstChildElement("name").text().toLower().toUtf8().data(), base);
         }
         else kDebug() << "Unsupported effect file: " << itemName;
     }