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

Listview updating problems. related to: QQmlChangeSet. With fix!

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • None
    • 5.10.1
    • None
    • debian on x86
    • Linux/X11

    Description

      When updating data in a model from C++, I have 2 possible delegate views in QML.

      One view is a map with mapitems, which works perfectly.

      But when I have opened another page in stackview, with a listview, it will not update like it should. It only updates when loading that page again.

      The error that qml produces when viewing the listview is:
       
      QObject::connect: Cannot queue arguments of type 'QQmlChangeSet'(Make sure 'QQmlChangeSet' is registered using qRegisterMetaType().)

      I have narrowed down the problem to the file: "qqmlchangeset_p.h"
      Which I found here:
      https://code.woboq.org/qt5/qtdeclarative/src/qml/util/qqmlchangeset_p.h.html

      The solution is:
      Add the following line of code at line #148:
      "Q_DECLARE_METATYPE(QQmlChangeSet);"

      I have tested this at a local machine and it works flawless.
      Suggested solution:
      Update Qt source code accordingly.

      Attachments

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

        Activity

          People

            qt.team.quick.subscriptions Qt Quick and Widgets Team
            jaap Jaap van der Leest
            Votes:
            2 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes