diff options
Diffstat (limited to 'src/qml/qml/qqmlimport.cpp')
-rw-r--r-- | src/qml/qml/qqmlimport.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp index 95b59f93f4..5374f2d1ad 100644 --- a/src/qml/qml/qqmlimport.cpp +++ b/src/qml/qml/qqmlimport.cpp @@ -49,6 +49,8 @@ #include <QtCore/qlibraryinfo.h> #include <QtCore/qreadwritelock.h> #include <QtQml/qqmlextensioninterface.h> +#include <QtQml/qqmlextensionplugin.h> +#include <private/qqmlextensionplugin_p.h> #include <private/qqmlglobal_p.h> #include <private/qqmltypenamecache_p.h> #include <private/qqmlengine_p.h> @@ -1683,6 +1685,10 @@ bool QQmlImportDatabase::importPlugin(const QString &filePath, const QString &ur QQmlMetaType::setTypeRegistrationNamespace(typeNamespace); + if (QQmlExtensionPlugin *plugin = qobject_cast<QQmlExtensionPlugin *>(instance)) { + // Set the directory, not the library file itself + QQmlExtensionPluginPrivate::get(plugin)->baseUrl = QUrl::fromLocalFile(fileInfo.absolutePath()); + } iface->registerTypes(moduleId); registrationFailures = QQmlMetaType::typeRegistrationFailures(); |