kdeclarative: initialization optimization

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2023-05-20 08:51:56 +03:00
parent f852199986
commit 3586873aa9

View file

@ -141,33 +141,15 @@ void KDeclarative::initialize()
QScriptValue newGlobalObject = d->scriptEngine.data()->newObject();
QString eval = QLatin1String("eval");
QString version = QLatin1String("version");
QScriptValueIterator iter(originalGlobalObject);
while (iter.hasNext()) {
iter.next();
{
QScriptValueIterator iter(originalGlobalObject);
QVector<QString> names;
QVector<QScriptValue> values;
QVector<QScriptValue::PropertyFlags> flags;
while (iter.hasNext()) {
iter.next();
QString name = iter.name();
if (name == version) {
continue;
}
if (name != eval) {
names.append(name);
values.append(iter.value());
flags.append(iter.flags() | QScriptValue::Undeletable);
}
newGlobalObject.setProperty(iter.scriptName(), iter.value());
// m_illegalNames.insert(name);
if (iter.name() == QLatin1String("version")) {
continue;
}
newGlobalObject.setProperty(iter.scriptName(), iter.value());
}
d->scriptEngine.data()->setGlobalObject(newGlobalObject);