From 085aec4c8836c01368cc2926f32952e871699a44 Mon Sep 17 00:00:00 2001
From: Andy Shaw <andy.shaw@theqtcompany.com>
Date: Wed, 2 Mar 2016 15:24:52 +0100
Subject: [PATCH] Enable using the module in a statically built application

Change-Id: I71705aa185510c4ffce169fcd719514868037c68
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
---
 src/imports/qtcanvas3d/qcanvas3d_plugin.cpp | 12 ++++++++++++
 src/imports/qtcanvas3d/qcanvas3d_plugin.h   |  3 ++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/src/imports/qtcanvas3d/qcanvas3d_plugin.cpp b/src/imports/qtcanvas3d/qcanvas3d_plugin.cpp
index fec3bd0..3aee915 100644
--- a/src/imports/qtcanvas3d/qcanvas3d_plugin.cpp
+++ b/src/imports/qtcanvas3d/qcanvas3d_plugin.cpp
@@ -41,10 +41,22 @@
 
 #include <QtQml/qqml.h>
 
+static void initResources()
+{
+#ifdef QT_STATIC
+    Q_INIT_RESOURCE(qmake_QtCanvas3D);
+#endif
+}
+
 QT_BEGIN_NAMESPACE
 
 QT_CANVAS3D_BEGIN_NAMESPACE
 
+QtCanvas3DPlugin::QtCanvas3DPlugin(QObject *parent) : QQmlExtensionPlugin(parent)
+{
+    initResources();
+}
+
 void QtCanvas3DPlugin::registerTypes(const char *uri)
 {
     // @uri com.digia.qtcanvas3d
diff --git a/src/imports/qtcanvas3d/qcanvas3d_plugin.h b/src/imports/qtcanvas3d/qcanvas3d_plugin.h
index fbad1ad..9f89ae5 100644
--- a/src/imports/qtcanvas3d/qcanvas3d_plugin.h
+++ b/src/imports/qtcanvas3d/qcanvas3d_plugin.h
@@ -85,9 +85,10 @@ QT_CANVAS3D_BEGIN_NAMESPACE
 class QtCanvas3DPlugin : public QQmlExtensionPlugin
 {
     Q_OBJECT
-    Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
+    Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface/1.0")
 
 public:
+    QtCanvas3DPlugin(QObject *parent = 0);
     void registerTypes(const char *uri);
 };
 
-- 
GitLab