src/corelib/kernel/qmetaobject.cpp
changeset 33 3e2da88830cd
parent 30 5dc02b23752f
child 37 758a864f9613
equal deleted inserted replaced
30:5dc02b23752f 33:3e2da88830cd
  1452     removed.
  1452     removed.
  1453 
  1453 
  1454     If the "compute" slot does not take exactly one QString, one int
  1454     If the "compute" slot does not take exactly one QString, one int
  1455     and one double in the specified order, the call will fail.
  1455     and one double in the specified order, the call will fail.
  1456 
  1456 
       
  1457     \warning this method will not test the validity of the arguments: \a object
       
  1458     must be an instance of the class of the QMetaObject of which this QMetaMethod
       
  1459     has been constructed with.  The arguments must have the same type as the ones
       
  1460     expected by the method, else, the behaviour is undefined.
       
  1461 
  1457     \sa Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), QMetaObject::invokeMethod()
  1462     \sa Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), QMetaObject::invokeMethod()
  1458 */
  1463 */
  1459 bool QMetaMethod::invoke(QObject *object,
  1464 bool QMetaMethod::invoke(QObject *object,
  1460                          Qt::ConnectionType connectionType,
  1465                          Qt::ConnectionType connectionType,
  1461                          QGenericReturnArgument returnValue,
  1466                          QGenericReturnArgument returnValue,
  1470                          QGenericArgument val8,
  1475                          QGenericArgument val8,
  1471                          QGenericArgument val9) const
  1476                          QGenericArgument val9) const
  1472 {
  1477 {
  1473     if (!object || !mobj)
  1478     if (!object || !mobj)
  1474         return false;
  1479         return false;
       
  1480 
       
  1481     Q_ASSERT(mobj->cast(object));
  1475 
  1482 
  1476     // check return type
  1483     // check return type
  1477     if (returnValue.data()) {
  1484     if (returnValue.data()) {
  1478         const char *retType = typeName();
  1485         const char *retType = typeName();
  1479         if (qstrcmp(returnValue.name(), retType) != 0) {
  1486         if (qstrcmp(returnValue.name(), retType) != 0) {