summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qobject.cpp
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2009-07-30 06:44:02 (GMT)
committerAaron Kennedy <aaron.kennedy@nokia.com>2009-07-31 02:00:43 (GMT)
commitf858dd8083e59eb918058694956cd3546fb303b2 (patch)
treef50b832a2e19c8cc816a31aca6c39860f57f89e7 /src/corelib/kernel/qobject.cpp
parentb30a25280556599177b217f0e8ed3fbe4b11705d (diff)
downloadQt-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.cpp9
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"