From 44e398f64ebe2841d5448076ed83f9886ab1b48f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= Date: Thu, 26 Apr 2018 10:44:49 +0200 Subject: [PATCH] Clarify ownership around QQmlEngine::setNAMF We were leaking an instance of MyNetworkAccessManagerFactory in the "NetworkAccessManagerFactory"-example. To add to this the documentation around QQmlEngine::setNetworkAccessManagerFactory did not specify whether or not it took ownership, causing confusion. Change-Id: Ic9eee2c45682c752bcb4aa98943fc0af2b630795 Reviewed-by: Simon Hausmann Reviewed-by: Mitch Curtis --- examples/qml/networkaccessmanagerfactory/main.cpp | 3 ++- src/qml/qml/qqmlengine.cpp | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/examples/qml/networkaccessmanagerfactory/main.cpp b/examples/qml/networkaccessmanagerfactory/main.cpp index 95dfb5990d..a0fddf50c6 100644 --- a/examples/qml/networkaccessmanagerfactory/main.cpp +++ b/examples/qml/networkaccessmanagerfactory/main.cpp @@ -133,7 +133,8 @@ int main(int argc, char ** argv) source = QUrl::fromLocalFile(parser.positionalArguments().first()); QQuickView view; - view.engine()->setNetworkAccessManagerFactory(new MyNetworkAccessManagerFactory); + MyNetworkAccessManagerFactory networkManagerFactory; + view.engine()->setNetworkAccessManagerFactory(&networkManagerFactory); view.setSource(source); view.show(); diff --git a/src/qml/qml/qqmlengine.cpp b/src/qml/qml/qqmlengine.cpp index 7e11177caa..b27bf3779a 100644 --- a/src/qml/qml/qqmlengine.cpp +++ b/src/qml/qml/qqmlengine.cpp @@ -1196,6 +1196,8 @@ void QQmlEnginePrivate::registerFinalizeCallback(QObject *obj, int index) support. The factory must be set before executing the engine. + + \note QQmlEngine does not take ownership of the factory. */ void QQmlEngine::setNetworkAccessManagerFactory(QQmlNetworkAccessManagerFactory *factory) {