aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2022-02-02 18:07:07 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2022-02-03 14:06:06 +0100
commit0cfddaa56fb560c4ffb3809b7924a0fbb6f3889f (patch)
tree276f6c1aadac4250b3ba7c5e622ed5f6da5b58c9
parent87bd0af43989280c460016451cbef3f9a8166908 (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.cpp7
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);
}