From e018b82432055d9a5f13be7c17e31502830b9fa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Trond=20Kjern=C3=A5sen?= Date: Fri, 17 Apr 2009 16:59:26 +0200 Subject: Fix an endianess issue with 32 bit pixmaps on big endian systems. On big endian systems with Xrender, the QPixmap::toImage() function did an unnecessary byte swap for 32 bit pixmaps. Task-number: 196152 Reviewed-by: Samuel --- src/gui/image/qpixmap_x11.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/image/qpixmap_x11.cpp b/src/gui/image/qpixmap_x11.cpp index ff7c1b6..38916c7 100644 --- a/src/gui/image/qpixmap_x11.cpp +++ b/src/gui/image/qpixmap_x11.cpp @@ -1437,7 +1437,7 @@ QImage QX11PixmapData::toImage() const // we may have to swap the byte order if ((QSysInfo::ByteOrder == QSysInfo::LittleEndian && xi->byte_order == MSBFirst) - || (QSysInfo::ByteOrder == QSysInfo::BigEndian)) + || (QSysInfo::ByteOrder == QSysInfo::BigEndian && xi->byte_order == LSBFirst)) { for (int i=0; i < image.height(); i++) { uint *p = (uint*)image.scanLine(i); -- cgit v0.12