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

Qt container-based classes now require stream operators

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 5.7.0
    • 5.7.0 Beta
    • D-Bus
    • None
    • Gentoo/Linux, amd64, gcc-4.8.4.
    • 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

            mmutz Marc Mutz
            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