diff options
author | Fabian Kosmale <fabian.kosmale@qt.io> | 2020-01-06 08:38:12 +0100 |
---|---|---|
committer | Fabian Kosmale <fabian.kosmale@qt.io> | 2020-01-06 08:56:30 +0100 |
commit | 17ed029e965d30fa4f75c50d0c2439e901a1f3a8 (patch) | |
tree | 8c829a65b768f1e41781cd787365b65a0dba5424 | |
parent | 01bbd7e41ac8444d2282ac6ca1862c3748f685a1 (diff) |
QV4::Engine: replace std::function with a function pointer
Turns out, we actually do not need to capture anything
Change-Id: I6194b45a1e8053be079d25a6d81212fa226fd3ea
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
-rw-r--r-- | src/qml/jsruntime/qv4engine_p.h | 2 | ||||
-rw-r--r-- | src/qmlworkerscript/qquickworkerscript.cpp | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/qml/jsruntime/qv4engine_p.h b/src/qml/jsruntime/qv4engine_p.h index 081859f4cc..e0025feb00 100644 --- a/src/qml/jsruntime/qv4engine_p.h +++ b/src/qml/jsruntime/qv4engine_p.h @@ -355,7 +355,7 @@ public: FunctionObject *getStackFunction() const { return reinterpret_cast<FunctionObject *>(jsObjects + GetStack_Function); } FunctionObject *thrower() const { return reinterpret_cast<FunctionObject *>(jsObjects + ThrowerObject); } - std::function<QNetworkAccessManager*(ExecutionEngine*)> networkAccessManager = detail::getNetworkAccessManager; + QNetworkAccessManager* (*networkAccessManager)(ExecutionEngine*) = detail::getNetworkAccessManager; enum JSStrings { String_Empty, diff --git a/src/qmlworkerscript/qquickworkerscript.cpp b/src/qmlworkerscript/qquickworkerscript.cpp index c39433c74d..d42742d6f5 100644 --- a/src/qmlworkerscript/qquickworkerscript.cpp +++ b/src/qmlworkerscript/qquickworkerscript.cpp @@ -390,14 +390,14 @@ WorkerScript::WorkerScript(int id, QQuickWorkerScriptEnginePrivate *parent) QV4::ScopedValue sendMessage(scope, QV4::FunctionObject::createBuiltinFunction(this, name, QQuickWorkerScriptEnginePrivate::method_sendMessage, 1)); api->put(QV4::ScopedString(scope, scope.engine->newString(QStringLiteral("sendMessage"))), sendMessage); globalObject->put(QV4::ScopedString(scope, scope.engine->newString(QStringLiteral("WorkerScript"))), api); - networkAccessManager = [this](QV4::ExecutionEngine *engine){ + networkAccessManager = [](QV4::ExecutionEngine *engine){ auto *workerScript = static_cast<WorkerScript *>(engine); if (workerScript->scriptLocalNAM) return workerScript->scriptLocalNAM.get(); - if (auto *namFactory = p->qmlengine->networkAccessManagerFactory()) - workerScript->scriptLocalNAM.reset(namFactory->create(p)); + if (auto *namFactory = workerScript->p->qmlengine->networkAccessManagerFactory()) + workerScript->scriptLocalNAM.reset(namFactory->create(workerScript->p)); else - workerScript->scriptLocalNAM.reset(new QNetworkAccessManager(p)); + workerScript->scriptLocalNAM.reset(new QNetworkAccessManager(workerScript->p)); return workerScript->scriptLocalNAM.get(); }; } |