summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTom Cooksey <thomas.cooksey@nokia.com>2009-06-29 13:58:02 (GMT)
committerTom Cooksey <thomas.cooksey@nokia.com>2009-06-29 14:05:46 (GMT)
commit150f29a4b3144a59bf49394bbb0eea53eb8a72f6 (patch)
tree4cf5a329be0e0c2be56a79453292b31f9240c1c9 /src
parentd8e80403e7e74a2236a7ec1a6d268c786e3042f5 (diff)
downloadQt-150f29a4b3144a59bf49394bbb0eea53eb8a72f6.zip
Qt-150f29a4b3144a59bf49394bbb0eea53eb8a72f6.tar.gz
Qt-150f29a4b3144a59bf49394bbb0eea53eb8a72f6.tar.bz2
Fix crash/artifacts on SuperH
Add SuperH to the ever growing list of architectures which can't correctly dereference a short* which is not 16-bit aligned. Turning this into a white-list rather than a black list might make sense at some point, but as QT_ARCH_I386 isn't defined on windows, the white list looks even uglier at the moment. :-) Task-number: 257077 Reviewed-by: TrustMe
Diffstat (limited to 'src')
-rw-r--r--src/gui/painting/qblendfunctions.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/gui/painting/qblendfunctions.cpp b/src/gui/painting/qblendfunctions.cpp
index f14de93..baea140 100644
--- a/src/gui/painting/qblendfunctions.cpp
+++ b/src/gui/painting/qblendfunctions.cpp
@@ -317,9 +317,9 @@ template <typename T> void qt_blend_argb24_on_rgb16(uchar *destPixels, int dbpl,
const uchar *src = srcPixels + y * sbpl;
const uchar *srcEnd = src + srcOffset;
while (src < srcEnd) {
-#if defined(QT_ARCH_ARM) || defined(QT_ARCH_POWERPC) || (defined(QT_ARCH_WINDOWSCE) && !defined(_X86_))
- // non-16-bit aligned memory access is not possible on PowerPC &
- // ARM <v6 (QT_ARCH_ARMV6)
+#if defined(QT_ARCH_ARM) || defined(QT_ARCH_POWERPC) || defined(QT_ARCH_SH) || (defined(QT_ARCH_WINDOWSCE) && !defined(_X86_))
+ // non-16-bit aligned memory access is not possible on PowerPC,
+ // ARM <v6 (QT_ARCH_ARMV6) & SH
quint16 spix = (quint16(src[2])<<8) + src[1];
#else
quint16 spix = *(quint16 *) (src + 1);