diff options
-rw-r--r-- | external/cairo/cairo/san.patch.0 | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/external/cairo/cairo/san.patch.0 b/external/cairo/cairo/san.patch.0 index 9e187240f240..bbf8f2d626c0 100644 --- a/external/cairo/cairo/san.patch.0 +++ b/external/cairo/cairo/san.patch.0 @@ -57,16 +57,12 @@ static inline cairo_bool_t --- src/cairo-image-source.c +++ src/cairo-image-source.c -@@ -509,7 +509,11 @@ +@@ -509,7 +509,7 @@ return pixman_image_create_solid_fill (&color); case CAIRO_FORMAT_RGB24_888: - pixel = *(uint32_t *) (image->data + y * image->stride + 3 * x); -+#ifdef WORDS_BIGENDIAN -+ pixel = (uint32_t)(image->data + y * image->stride + 3 * x)[3] | ((uint32_t)(image->data + y * image->stride + 3 * x)[2] << 8) | ((uint32_t)(image->data + y * image->stride + 3 * x)[1] << 16) | ((uint32_t)(image->data + y * image->stride + 3 * x)[0] << 24); -+#else -+ pixel = (uint32_t)(image->data + y * image->stride + 3 * x)[0] | ((uint32_t)(image->data + y * image->stride + 3 * x)[1] << 8) | ((uint32_t)(image->data + y * image->stride + 3 * x)[2] << 16) | ((uint32_t)(image->data + y * image->stride + 3 * x)[3] << 24); -+#endif ++ pixel = (uint32_t)(image->data + y * image->stride + 3 * x)[0] | ((uint32_t)(image->data + y * image->stride + 3 * x)[1] << 8) | ((uint32_t)(image->data + y * image->stride + 3 * x)[2] << 16); pixel &= 0x00ffffff; /* ignore next pixel bits */ if (pixel == 0) return _pixman_black_image (); |