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

[REG 6.5.1-6.5.2] Automatic conversion JS Array -> QByteArray is broken

    XMLWordPrintable

Details

    • All
    • 9599f4c55 (dev), 5dc4a90e3 (6.5), 5dd59eb4a (6.6)

    Description

      Since Qt 6.5.2 automatic conversion from JS Array to QByteArray is broken.

      Sample code:
      QML

      import QtQuick
      import QtQuick.Controls
      
      Window {
          width: 640
          height: 480
          visible: true
      
          function testArray(array) {
              console.log('JS array: ' + array)
              test.byteArrayTest(array)
          }
      
          Component.onCompleted: {
              testArray([1, 2, 3])
              testArray(Array.from('456'))
          }
      }
      

      C++

      #pragma once
      #include <QObject>
      #include <QDebug>
      
      class Test : public QObject
      {
          Q_OBJECT
      
      public:
          Q_INVOKABLE void byteArrayTest(const QByteArray &ba)
          {
              qDebug() << "QByteArray: " << ba;
          }
      };
      

      See full example untitled.zip
      To reproduce the problem just compare console output when build with Qt 6.5.2 and Qt 6.5.1 (or any version prior)

      Attachments

        Issue Links

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

          Activity

            People

              ulherman Ulf Hermann
              studiosus Vladimir Belyavsky
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes