Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-50901

QNetworkAccessManager, "QObject::connect: Incompatible sender/receiver arguments..." warnings

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.9.0 Beta 2
    • 5.4.1, 5.5.1, 5.6.0 Beta
    • Network
    • None
    • Windows 8.1 x64, Visual Studio 2013
    • de225ccdf95efb57866d62bc80872c1a2ab99703

    Description

      I have multithreaded C++ application which uses QNetworkAccessManager in it's threads. Sometimes it gives me this warning message:

      QObject::connect: Incompatible sender/receiver arguments
      QNetworkSessionPrivateImpl::error(QNetworkSession::SessionError) --> QNetworkSession::error(QNetworkSession::SessionError)

      Call stack looks like this:
      QNetworkAccessManager::get ->
      QNetworkAccessManager::createRequest ->
      QNetworkAccessManagerPrivate::createSession ->
      QSharedNetworkSessionManager::getSession ->
      QNetworkSession::QNetworkSession ->
      QObject::connect ->
      QMessageLogger::warning

      I tried to figure out what is going on. So I checked QObject::connect under debugger:

      if (!QMetaObjectPrivate::checkConnectArgs(signalTypes.size(), signalTypes.constData(),
      methodTypes.size(), methodTypes.constData())) {

      signalTypes contains one item:
      _type = 0 (int)
      _name = "QNetworkSession::SessionError" (QByteArray)

      methodTypes contains one item too:
      _type = 1044 (int)
      _name = "QNetworkSession::SessionError" (QByteArray)

      QMetaObjectPrivate::checkConnectArgs checks types:

      for (int i = 0; i < methodArgc; ++i) {
      if (signalTypes[i] != methodTypes[i])
      return false;

      So I think this difference is the reason of the warning.

      Another warning types I encountered are:

      QObject::connect: Incompatible sender/receiver arguments
      QNetworkSessionPrivateImpl::stateChanged(QNetworkSession::State) --> QNetworkSession::stateChanged(QNetworkSession::State)

      QObject::connect: Incompatible sender/receiver arguments
      QNetworkSessionPrivateImpl::usagePoliciesChanged(QNetworkSession::UsagePolicies) --> QNetworkSession::usagePoliciesChanged(QNetworkSession::UsagePolicies)

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            tpochep Timur Pocheptsov
            yuri_q Yuri M
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes