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

Qt container-based classes now require stream operators

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 5.7.0 Beta
    • Fix Version/s: 5.7.0
    • Component/s: D-Bus
    • Labels:
      None
    • Environment:
      Gentoo/Linux, amd64, gcc-4.8.4.
    • Commits:
      d55f2b1fb9c910bc118f75967a0e6273f8aa98d1 c7d4858c921c7602dc90d56cdd903cd2cb1111c6

      Description

      Since commit 5f542f3cca13f2da58b82aee2efbaffefeee00a7 Qt container-derived classes, such as

      class UIntList : public QList<uint>

      now can not be streamed to/from QDBusArgument.

      error: no match for 'operator>>' (operand types are 'QDBusArgument' and 'UIntList')

      http://doc.qt.io/qt-5/qdbusargument.html#qDBusRegisterMetaType says:

      If T isn't a type derived from one of Qt's container classes, the operator<< and operator>> streaming operators between T and QDBusArgument must be already declared.

      Thus, the change seems to contradict with the documentation and breaks various projects, e.g. TelepathyQt: https://bugs.freedesktop.org/show_bug.cgi?id=95376

        Attachments

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

          Activity

            People

            • Assignee:
              mmutz Marc Mutz
              Reporter:
              kaffeine Alexandr Akulich
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Gerrit Reviews

                There are no open Gerrit changes