diff --git a/playground/invoker/Invoker.cpp b/playground/invoker/Invoker.cpp index 042c7c0b..b1f55c3d 100644 --- a/playground/invoker/Invoker.cpp +++ b/playground/invoker/Invoker.cpp @@ -13,7 +13,7 @@ Invoker::Invoker( QObject* parent ): void Invoker::addCallback( const QObject* object, const QskMetaFunction& function ) { - m_callbacks += QskMetaCallback( object, function ); + m_callbacks.append( QskMetaCallback( object, function ) ); } void Invoker::invoke( qreal realValue, int intValue, diff --git a/playground/invoker/main.cpp b/playground/invoker/main.cpp index b6761ef5..fc4de90c 100644 --- a/playground/invoker/main.cpp +++ b/playground/invoker/main.cpp @@ -78,10 +78,13 @@ int main( int argc, char* argv[] ) MyObject object; MyObject2 object2; + int num = 111; + auto f = [&num]( int i, double d ) { qDebug() << i << d << (++num); }; + Invoker invoker; - invoker.addCallback( QskMetaFunction() ); #if 1 + invoker.addCallback( QskMetaFunction() ); invoker.addCallback( debugValue ); invoker.addCallback( debugValueI ); invoker.addCallback( &object, &MyObject::print1 ); @@ -91,8 +94,6 @@ int main( int argc, char* argv[] ) invoker.addCallback( &object, &MyObject::print4 ); invoker.addCallback( &object, []( double d, int i ) { qDebug() << d << i; } ); - int num = 111; - auto f = [&num]( int i, double d ) { qDebug() << i << d << (++num); }; invoker.addCallback( &object, f ); invoker.addCallback( &object2, f ); invoker.addCallback( &object, fs ); @@ -109,7 +110,7 @@ int main( int argc, char* argv[] ) qDebug() << "== Direct Connections"; invoker.invoke( 3.14, 35, Qt::DirectConnection ); - qDebug() << "== Queued Connections"; + qDebug() << "\n\n== Queued Connections"; QTimer::singleShot( 0, [&invoker] { invoker.invoke( 0.07, 42, Qt::QueuedConnection ); } ); @@ -117,34 +118,6 @@ int main( int argc, char* argv[] ) QTimer::singleShot( 100, &app, QCoreApplication::quit ); -#if 0 - QObject::connect( &object2, &MyObject2::done, - &object, &MyObject::print1 ); - - QObject::connect( &object2, &MyObject2::done, debugValue ); - QObject::connect( &object2, &MyObject2::done, debugValueI ); - QObject::connect( &object2, &MyObject2::done, &object, &MyObject::print1 ); - QObject::connect( &object2, &MyObject2::done, &object2, &MyObject2::print1 ); - QObject::connect( &object2, &MyObject2::done, &object, &MyObject::print2 ); - QObject::connect( &object2, &MyObject2::done, &object, &MyObject::print3 ); - QObject::connect( &object2, &MyObject2::done, &object, &MyObject::print4 ); - QObject::connect( &object2, &MyObject2::done, &object, []( double d, int i ) { qDebug() << d << i; } ); - - int num2 = 111; - auto f2 = [&num2]( int i, double d ) { qDebug() << i << d << (++num2); }; - QObject::connect( &object2, &MyObject2::done, &object, f2 ); - QObject::connect( &object2, &MyObject2::done, &object2, f2 ); - QObject::connect( &object2, &MyObject2::done, &object, fs ); - QObject::connect( &object2, &MyObject2::done, &object2, fs ); - - QObject::connect( &object2, &MyObject2::done, &object, []( double d ) { qDebug() << d; } ); - QObject::connect( &object2, &MyObject2::done, []() { qDebug() << "HERE"; } ); - QObject::connect( &object2, &MyObject2::done, []( int i, double d ) { qDebug() << i << d; } ); - QObject::connect( &object2, &MyObject2::done, []( int i ) { qDebug() << i; } ); - QObject::connect( &object2, &MyObject2::done, []( double d ) { qDebug() << d; } ); - -#endif - return app.exec(); } diff --git a/src/common/QskMetaInvokable.h b/src/common/QskMetaInvokable.h index c6636516..0903eec5 100644 --- a/src/common/QskMetaInvokable.h +++ b/src/common/QskMetaInvokable.h @@ -107,7 +107,7 @@ public: } static void invoke( int which, QtPrivate::QSlotObjectBase*, - QObject* object, void** args, bool* ret ) + QObject* object, void** args, bool* ) { static Invokable* invokable = nullptr; @@ -142,12 +142,6 @@ public: break; } - case Compare: - { - const auto function = *reinterpret_cast< Function* >( args ); - *ret = function == invokable->m_function; - break; - } case TypeInfo: { *reinterpret_cast< int* >( args ) = 0; // = QskMetaFunction::Member