diff options
author | Tom Cooksey <thomas.cooksey@nokia.com> | 2009-06-29 13:58:02 (GMT) |
---|---|---|
committer | Tom Cooksey <thomas.cooksey@nokia.com> | 2009-06-29 14:05:46 (GMT) |
commit | 150f29a4b3144a59bf49394bbb0eea53eb8a72f6 (patch) | |
tree | 4cf5a329be0e0c2be56a79453292b31f9240c1c9 /src | |
parent | d8e80403e7e74a2236a7ec1a6d268c786e3042f5 (diff) | |
download | Qt-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.cpp | 6 |
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); |