}
documentLocale.setNumberOptions(QLocale::OmitGroupSeparator);
- if (documentLocale != QLocale()) {
+ if (documentLocale.decimalPoint() != QLocale().decimalPoint()) {
+ // If loading an older MLT file without LC_NUMERIC, set locale to C which was previously the default
+ if (!mlt.hasAttribute("LC_NUMERIC")) setlocale(LC_NUMERIC, "C");
+
QLocale::setDefault(documentLocale);
// locale conversion might need to be redone
initEffects::parseEffectFiles();
} else {
m_modified = updateEffectParameters(effect.childNodes(), &updateRules, serviceVersion, effectVersion);
}
+
+ // set version number since MLT won't change it (only initially set it)
+ QDomElement versionElem = effect.firstChildElement("version");
+ if (EffectsList::property(effect, "version").isNull()) {
+ versionElem = effect.ownerDocument().createTextNode(QLocale().toString(serviceVersion)).toElement();
+ versionElem.setTagName("property");
+ versionElem.setAttribute("name", "version");
+ effect.appendChild(versionElem);
+ } else {
+ EffectsList::setProperty(effect, "version", QLocale().toString(serviceVersion));
+ }
}
}
}