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

Reg->6.11: Assert when passing a too long-list to QMetaMethodBuilder::setParameterNames()

XMLWordPrintable

    • All
    • db2bbbb25 (dev), 1b449c79b (6.10), dd65876ec (dev), 0a035bd77 (dev), 15ea1d51f (6.10), 1d78d8348 (6.9), bb8e79cd0 (6.10.0)

      When passing too many names to QMetaMethodBuilder::setParameterNames():

          mmb = builder.addSlot("add(int)");
          mmb.setParameterNames({"", "i"}); 
      

      a hard-to-comprehend assert occurs in 6.11:

      ASSERT: "!buf || dataIndex == pmeta->propertyData" in file 
            qtbase/src/corelib/kernel/qmetaobjectbuilder.cpp, line 1329
      

      This used to work silently in 6.10. The suggestion would be to introduce a warning or an assert in setParameterNames().

      The assert was introduced by " QMetaMethod: change parameterTypes() to return a list of QBAV" by 58b4be482cb481addebc966d713bc0521cca3218 https://codereview.qt-project.org/c/qt/qtbase/+/639255 .

        For Gerrit Dashboard: QTBUG-139845
        # Subject Branch Project Status CR V

            ahmad.samir Ahmad Samir
            kleint Friedemann Kleint
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: