diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-02-02 18:07:07 +0100 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-02-03 14:06:06 +0100 |
| commit | 0cfddaa56fb560c4ffb3809b7924a0fbb6f3889f (patch) | |
| tree | 276f6c1aadac4250b3ba7c5e622ed5f6da5b58c9 | |
| parent | 87bd0af43989280c460016451cbef3f9a8166908 (diff) | |
Prospective fix for broken QByteArray::__msetitem__() on big endian architectures
Remove a dubious cast from long to const char * which depends
on byte order.
Pick-to: 6.2 5.15
Fixes: PYSIDE-1804
Change-Id: Iee2d809d4e9362b89439b9c56a5fb18e1f91d6fd
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
| -rw-r--r-- | sources/pyside6/PySide6/glue/qtcore.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sources/pyside6/PySide6/glue/qtcore.cpp b/sources/pyside6/PySide6/glue/qtcore.cpp index 5452e9f7f..05b4e7d2d 100644 --- a/sources/pyside6/PySide6/glue/qtcore.cpp +++ b/sources/pyside6/PySide6/glue/qtcore.cpp @@ -643,9 +643,10 @@ if (PyIndex_Check(_key)) { QByteArray temp; if (PyLong_Check(item)) { int overflow; - long ival = PyLong_AsLongAndOverflow(item, &overflow); - // Not suppose to bigger than 255 because only bytes, bytearray, QByteArray were accept - temp = QByteArray(reinterpret_cast<const char *>(&ival)); + const long ival = PyLong_AsLongAndOverflow(item, &overflow); + // Not supposed to be bigger than 255 because only bytes, + // bytearray, QByteArray were accepted + temp.append(char(ival)); } else { temp = %CONVERTTOCPP[QByteArray](item); } |
