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() {
- QAbstractDeclarativeData::destroyed = destroyed;
- QAbstractDeclarativeData::parentChanged = parentChanged;
- QAbstractDeclarativeData::objectNameChanged = objectNameChanged;
- QAbstractDeclarativeData::signalEmitted = signalEmitted;
- QAbstractDeclarativeData::receivers = receivers;
+ static bool initialized = false;
+ if (!initialized) {
+ initialized = true;
+ QAbstractDeclarativeData::destroyed = destroyed;
+ QAbstractDeclarativeData::parentChanged = parentChanged;
+ QAbstractDeclarativeData::objectNameChanged = objectNameChanged;
+ QAbstractDeclarativeData::signalEmitted = signalEmitted;
+ QAbstractDeclarativeData::receivers = receivers;
+ }
}
static void destroyed(QAbstractDeclarativeData *, QObject *);
return count;
}
-namespace {
- class QQmlDataInitializer {
- public:
- QQmlDataInitializer() {
- QQmlData::init();
- }
- } _initializer;
-}
-
void QQmlEnginePrivate::init()
{
Q_Q(QQmlEngine);
if (firstTime) {
qmlRegisterType<QQmlComponent>("QML", 1, 0, "Component");
+ QQmlData::init();
firstTime = false;
}