plasma: use Q_BYTE_ORDER to determine byte order

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2021-08-06 23:09:37 +03:00
parent 7bea8548e8
commit 206b343667

View file

@ -366,14 +366,14 @@ void StatusNotifierItemSource::contextMenuReady()
QPixmap StatusNotifierItemSource::KDbusImageStructToPixmap(const KDbusImageStruct &image) const
{
//swap from network byte order if we are little endian
if (QSysInfo::ByteOrder == QSysInfo::LittleEndian) {
uint *uintBuf = (uint *) image.data.data();
for (uint i = 0; i < image.data.size()/sizeof(uint); ++i) {
*uintBuf = ntohl(*uintBuf);
++uintBuf;
}
// swap from network byte order if we are little endian
#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
uint *uintBuf = (uint *) image.data.data();
for (uint i = 0; i < image.data.size()/sizeof(uint); ++i) {
*uintBuf = ntohl(*uintBuf);
++uintBuf;
}
#endif
QImage iconImage(image.width, image.height, QImage::Format_ARGB32 );
memcpy(iconImage.bits(), (uchar*)image.data.data(), iconImage.byteCount());