Remove init() call from QQmlData's ctor.
authorCharles Yin <charles.yin@nokia.com>
Tue, 1 May 2012 04:32:04 +0000 (14:32 +1000)
committerQt by Nokia <qt-info@nokia.com>
Tue, 1 May 2012 05:34:12 +0000 (07:34 +0200)
This static method only needs to be called once and is already called
in QQmlEnginePrivate::init() method.

Change-Id: If2ea46ed06dca068164116b3f0b04cc404a18fb5
Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com>
src/qml/qml/qqmldata_p.h
src/qml/qml/qqmlengine.cpp

index ffaa7e2..0686830 100644 (file)
@@ -83,7 +83,6 @@ public:
           bindings(0), signalHandlers(0), nextContextObject(0), prevContextObject(0), bindingBitsSize(0), bindingBits(0),
           lineNumber(0), columnNumber(0), deferredComponent(0), deferredIdx(0), v8objectid(0), 
           propertyCache(0), guards(0), extendedData(0) {
-          init(); 
     }
 
     static inline void init() {
index e48b9c4..5ae35f9 100644 (file)
@@ -468,6 +468,15 @@ int QQmlData::endpointCount(int index)
     return count;
 }
 
+namespace {
+    class QQmlDataInitializer {
+    public:
+        QQmlDataInitializer() {
+            QQmlData::init();
+        }
+    } _initializer;
+}
+
 void QQmlEnginePrivate::init()
 {
     Q_Q(QQmlEngine);
@@ -487,8 +496,6 @@ void QQmlEnginePrivate::init()
     qRegisterMetaType<QList<int> >("QList<int>");
     qRegisterMetaType<QQmlV8Handle>("QQmlV8Handle");
 
-    QQmlData::init();
-
     v8engine()->setEngine(q);
 
     rootContext = new QQmlContext(q,true);