wrong metaObject fixed ( #305 )
This commit is contained in:
parent
e93456ddd8
commit
e858e15b41
@ -84,13 +84,11 @@ namespace
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void qskInvokeMetaCallQueued(
|
static inline void qskInvokeMetaCallQueued( QObject* object,
|
||||||
QObject* object, QMetaObject::Call call, ushort offset,
|
const QMetaObject* metaObject, QMetaObject::Call call, ushort offset,
|
||||||
ushort index, void* args[], QSemaphore* semaphore )
|
ushort index, void* args[], QSemaphore* semaphore )
|
||||||
{
|
{
|
||||||
const auto callFunction = object->metaObject()->d.static_metacall;
|
auto event = new MetaCallEvent( call, metaObject->d.static_metacall,
|
||||||
|
|
||||||
auto event = new MetaCallEvent( call, callFunction,
|
|
||||||
offset, index, args, semaphore );
|
offset, index, args, semaphore );
|
||||||
|
|
||||||
QCoreApplication::postEvent( object, event );
|
QCoreApplication::postEvent( object, event );
|
||||||
@ -196,8 +194,7 @@ static void qskInvokeMetaCall(
|
|||||||
|
|
||||||
QSemaphore semaphore;
|
QSemaphore semaphore;
|
||||||
|
|
||||||
Q_ASSERT( metaObject == nullptr || receiver->metaObject() == metaObject );
|
qskInvokeMetaCallQueued( receiver, metaObject, call,
|
||||||
qskInvokeMetaCallQueued( receiver, call,
|
|
||||||
offset, index, argv, &semaphore );
|
offset, index, argv, &semaphore );
|
||||||
|
|
||||||
semaphore.acquire();
|
semaphore.acquire();
|
||||||
@ -257,8 +254,8 @@ static void qskInvokeMetaCall(
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Q_ASSERT( metaObject == nullptr || receiver->metaObject() == metaObject );
|
qskInvokeMetaCallQueued( object, metaObject,
|
||||||
qskInvokeMetaCallQueued( object, call, offset, index, arguments, nullptr );
|
call, offset, index, arguments, nullptr );
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user