diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-07-30 06:44:02 (GMT) |
---|---|---|
committer | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-07-31 02:00:43 (GMT) |
commit | f858dd8083e59eb918058694956cd3546fb303b2 (patch) | |
tree | f50b832a2e19c8cc816a31aca6c39860f57f89e7 /src/corelib/kernel/qobject.cpp | |
parent | b30a25280556599177b217f0e8ed3fbe4b11705d (diff) | |
download | Qt-f858dd8083e59eb918058694956cd3546fb303b2.zip Qt-f858dd8083e59eb918058694956cd3546fb303b2.tar.gz Qt-f858dd8083e59eb918058694956cd3546fb303b2.tar.bz2 |
Dynamic meta object support
This is an internal API used by declarative.
Authored-by: mae
Reviewed-by: Aaron Kennedy
Diffstat (limited to 'src/corelib/kernel/qobject.cpp')
-rw-r--r-- | src/corelib/kernel/qobject.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index b0ddd81..ab91799 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -145,11 +145,13 @@ QObjectPrivate::QObjectPrivate(int version) inThreadChangeEvent = false; deleteWatch = 0; objectGuards = 0; + metaObject = 0; hasGuards = false; } QObjectPrivate::~QObjectPrivate() { + delete static_cast<QAbstractDynamicMetaObject*>(metaObject); if (deleteWatch) *deleteWatch = 1; #ifndef QT_NO_USERDATA @@ -484,7 +486,7 @@ QMetaCallEvent::~QMetaCallEvent() */ int QMetaCallEvent::placeMetaCall(QObject *object) { - return object->qt_metacall(QMetaObject::InvokeMetaMethod, id_, args_); + return QMetaObject::metacall(object, QMetaObject::InvokeMetaMethod, id_, args_); } /*! @@ -3171,10 +3173,10 @@ void QMetaObject::activate(QObject *sender, int from_signal_index, int to_signal } #if defined(QT_NO_EXCEPTIONS) - receiver->qt_metacall(QMetaObject::InvokeMetaMethod, method, argv ? argv : empty_argv); + metacall(receiver, QMetaObject::InvokeMetaMethod, method, argv ? argv : empty_argv); #else try { - receiver->qt_metacall(QMetaObject::InvokeMetaMethod, method, argv ? argv : empty_argv); + metacall(receiver, QMetaObject::InvokeMetaMethod, method, argv ? argv : empty_argv); } catch (...) { locker.relock(); @@ -3917,6 +3919,7 @@ void qDeleteInEventHandler(QObject *o) delete o; } + QT_END_NAMESPACE #include "moc_qobject.cpp" |