From e858e15b41e226febbbf8010355a4963756de46d Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Mon, 17 Apr 2023 18:51:04 +0200 Subject: [PATCH] wrong metaObject fixed ( #305 ) --- src/common/QskMetaInvokable.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/common/QskMetaInvokable.cpp b/src/common/QskMetaInvokable.cpp index 7693464e..e0364614 100644 --- a/src/common/QskMetaInvokable.cpp +++ b/src/common/QskMetaInvokable.cpp @@ -84,13 +84,11 @@ namespace }; } -static inline void qskInvokeMetaCallQueued( - QObject* object, QMetaObject::Call call, ushort offset, +static inline void qskInvokeMetaCallQueued( QObject* object, + const QMetaObject* metaObject, QMetaObject::Call call, ushort offset, ushort index, void* args[], QSemaphore* semaphore ) { - const auto callFunction = object->metaObject()->d.static_metacall; - - auto event = new MetaCallEvent( call, callFunction, + auto event = new MetaCallEvent( call, metaObject->d.static_metacall, offset, index, args, semaphore ); QCoreApplication::postEvent( object, event ); @@ -196,8 +194,7 @@ static void qskInvokeMetaCall( QSemaphore semaphore; - Q_ASSERT( metaObject == nullptr || receiver->metaObject() == metaObject ); - qskInvokeMetaCallQueued( receiver, call, + qskInvokeMetaCallQueued( receiver, metaObject, call, offset, index, argv, &semaphore ); semaphore.acquire(); @@ -257,8 +254,8 @@ static void qskInvokeMetaCall( return; } - Q_ASSERT( metaObject == nullptr || receiver->metaObject() == metaObject ); - qskInvokeMetaCallQueued( object, call, offset, index, arguments, nullptr ); + qskInvokeMetaCallQueued( object, metaObject, + call, offset, index, arguments, nullptr ); break; }