diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2022-08-25 11:42:23 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2022-09-02 15:33:31 +0200 |
commit | b297e8fccf262bb0d870b39a960f0b80193dcaf5 (patch) | |
tree | 1f5bb9adf1e3fcbd4a8490c64995c064f3ce1f74 /tools | |
parent | 7c56dc7e980fc2b0814fb4aec1d5484d4cd3f286 (diff) |
QML: Make modules imported with registerModule() available in QML
So far, you could only use them from pure JavaScript programs. Also, fix
re-exporting parts of native modules.
Fixes: QTBUG-105901
Change-Id: I170017083284e6457b1aa0c6e606fd26227edae3
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/qmljs/qmljs.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/tools/qmljs/qmljs.cpp b/tools/qmljs/qmljs.cpp index 69f6b15299..fd06f974b6 100644 --- a/tools/qmljs/qmljs.cpp +++ b/tools/qmljs/qmljs.cpp @@ -97,10 +97,12 @@ int main(int argc, char *argv[]) for (const QString &fn : qAsConst(args)) { QV4::ScopedValue result(scope); if (runAsModule) { - auto moduleUnit = vm.loadModule(QUrl::fromLocalFile(QFileInfo(fn).absoluteFilePath())); - if (moduleUnit) { - if (moduleUnit->instantiate(&vm)) - moduleUnit->evaluate(); + auto module = vm.loadModule(QUrl::fromLocalFile(QFileInfo(fn).absoluteFilePath())); + if (module.compiled) { + if (module.compiled->instantiate(&vm)) + module.compiled->evaluate(); + } else if (module.native) { + // Nothing to do. Native modules have no global code. } else { vm.throwError(QStringLiteral("Could not load module file")); } |