Fixed MetaObject creation based on typename.

Reviewed by Hugo Parente <hugo.lima@openbossa.org>
This commit is contained in:
Renato Araujo Oliveira Filho 2010-12-28 19:43:51 -03:00 committed by Hugo Parente Lima
commit 40f5c3ce0e

View file

@ -138,11 +138,7 @@ void destroyQCoreApplication()
void initDynamicMetaObject(SbkObjectType* type, const QMetaObject* base) void initDynamicMetaObject(SbkObjectType* type, const QMetaObject* base)
{ {
const char* typeName = type->super.ht_type.tp_name; QByteArray typeName = QByteArray(type->super.ht_type.tp_name).split('.').last();
int len = strlen(typeName);
for (int i = len-1; i >= 0; --i)
if (typeName[i] == '.')
typeName += i + 1;
DynamicQMetaObject* mo = new PySide::DynamicQMetaObject(typeName, base); DynamicQMetaObject* mo = new PySide::DynamicQMetaObject(typeName, base);
Shiboken::ObjectType::setTypeUserData(type, mo, &Shiboken::callCppDestructor<DynamicQMetaObject>); Shiboken::ObjectType::setTypeUserData(type, mo, &Shiboken::callCppDestructor<DynamicQMetaObject>);
} }