aboutsummaryrefslogtreecommitdiffstats
path: root/tools/qmlcachegen/generateloader.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2018-03-21 11:26:00 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2018-03-21 13:31:31 +0000
commitbfab67e51e9c030a24a59754842b7f96d6ff77c3 (patch)
tree28127791ff3080b640aa8ba11209544249c25d99 /tools/qmlcachegen/generateloader.cpp
parent74e0f2573decb90d3e5b143abe9b20bc8a5f08a7 (diff)
parent089e5f7822e6d64e8e5864806929d29fd735fb0d (diff)
Merge "Merge remote-tracking branch 'origin/5.11' into dev" into refs/staging/dev
Diffstat (limited to 'tools/qmlcachegen/generateloader.cpp')
-rw-r--r--tools/qmlcachegen/generateloader.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/tools/qmlcachegen/generateloader.cpp b/tools/qmlcachegen/generateloader.cpp
index 1a0b987c64..a2e673d15a 100644
--- a/tools/qmlcachegen/generateloader.cpp
+++ b/tools/qmlcachegen/generateloader.cpp
@@ -358,15 +358,23 @@ bool generateLoader(const QStringList &compiledFiles, const QString &outputFileN
originalResourceFile.truncate(mappingSplit);
}
- const QString function = QLatin1String("qInitResources_") + qtResourceNameForFile(originalResourceFile);
+ const QString suffix = qtResourceNameForFile(originalResourceFile);
+ const QString initFunction = QLatin1String("qInitResources_") + suffix;
- stream << QStringLiteral("int QT_MANGLE_NAMESPACE(%1)() {\n").arg(function);
+ stream << QStringLiteral("int QT_MANGLE_NAMESPACE(%1)() {\n").arg(initFunction);
stream << " ::unitRegistry();\n";
if (!newResourceFile.isEmpty())
stream << " Q_INIT_RESOURCE(" << qtResourceNameForFile(newResourceFile) << ");\n";
stream << " return 1;\n";
stream << "}\n";
- stream << "Q_CONSTRUCTOR_FUNCTION(QT_MANGLE_NAMESPACE(" << function << "));\n";
+ stream << "Q_CONSTRUCTOR_FUNCTION(QT_MANGLE_NAMESPACE(" << initFunction << "));\n";
+
+ const QString cleanupFunction = QLatin1String("qCleanupResources_") + suffix;
+ stream << QStringLiteral("int QT_MANGLE_NAMESPACE(%1)() {\n").arg(cleanupFunction);
+ if (!newResourceFile.isEmpty())
+ stream << " Q_CLEANUP_RESOURCE(" << qtResourceNameForFile(newResourceFile) << ");\n";
+ stream << " return 1;\n";
+ stream << "}\n";
}
}