Don't use constructor function to initialize providers
authorTor Arne Vestbø <tor.arne.vestbo@digia.com>
Tue, 15 Oct 2013 10:56:20 +0000 (12:56 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Tue, 15 Oct 2013 17:40:21 +0000 (19:40 +0200)
It complicated static linking for no good reason.

Change-Id: I8eb1548b799128bfab9451963cb80c72239b961c
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
src/quick/qtquick2.cpp
src/quick/qtquickglobal_p.h
src/quick/util/qquickglobal.cpp

index e178a3e..5216fca 100644 (file)
@@ -172,6 +172,8 @@ void QQmlQtQuick2DebugStatesDelegate::resetBindingForInvalidProperty(QObject *ob
 
 void QQmlQtQuick2Module::defineModule()
 {
+    QQuick_initializeProviders();
+
     QQuickUtilModule::defineModule();
     QQmlEnginePrivate::defineQtQuick2Module();
     QQuickItemsModule::defineModule();
index 8cbd0b9..f67a08c 100644 (file)
 
 #define Q_QUICK_PRIVATE_EXPORT Q_QUICK_EXPORT
 
+QT_BEGIN_NAMESPACE
+
+void QQuick_initializeProviders();
+
+QT_END_NAMESPACE
+
 #endif // QTQUICKGLOBAL_P_H
index 7d226ed..152d1f3 100644 (file)
@@ -1025,14 +1025,11 @@ static QQuickGuiProvider *getGuiProvider()
     return &guiProvider;
 }
 
-static bool initializeProviders()
+void QQuick_initializeProviders()
 {
     QQml_addValueTypeProvider(getValueTypeProvider());
     QQml_setColorProvider(getColorProvider());
     QQml_setGuiProvider(getGuiProvider());
-    return true;
 }
 
-Q_CONSTRUCTOR_FUNCTION(initializeProviders)
-
 QT_END_NAMESPACE