Module: wine Branch: master Commit: ea361367ed87a18704e8d36646e73692f3a1c69b URL: http://source.winehq.org/git/wine.git/?a=commit;h=ea361367ed87a18704e8d36646...
Author: Huw Davies huw@codeweavers.com Date: Wed Jun 1 09:41:43 2011 +0100
gdi32: Fix an error in the blue channel of the 32 -> 16 bpp conversion and update the tests to catch this.
---
dlls/gdi32/dibdrv/primitives.c | 2 +- dlls/gdi32/tests/dib.c | 29 +++++++++++++++-------------- 2 files changed, 16 insertions(+), 15 deletions(-)
diff --git a/dlls/gdi32/dibdrv/primitives.c b/dlls/gdi32/dibdrv/primitives.c index 4711a65..411cddd 100644 --- a/dlls/gdi32/dibdrv/primitives.c +++ b/dlls/gdi32/dibdrv/primitives.c @@ -1038,7 +1038,7 @@ static BOOL convert_to_555(dib_info *dst, const dib_info *src, const RECT *src_r src_val = *src_pixel++; *dst_pixel++ = ((src_val >> 9) & 0x7c00) | ((src_val >> 6) & 0x03e0) | - ((src_val >> 3) & 0x001e); + ((src_val >> 3) & 0x001f); } dst_start += dst->stride / 2; src_start += src->stride / 4; diff --git a/dlls/gdi32/tests/dib.c b/dlls/gdi32/tests/dib.c index c750a46..60791ca 100644 --- a/dlls/gdi32/tests/dib.c +++ b/dlls/gdi32/tests/dib.c @@ -91,8 +91,8 @@ static const char *sha1_graphics_a8r8g8b8[] = "6c530622a025d872a642e8f950867884d7b136cb", "7c07d91b8f68fb31821701b3dcb96de018bf0c66", "b2261353decda2712b83538ab434a49ce21f3172", - "ef654fedcb494dae79559f4db8b691ae2d522a3f", - "a694872f38e66a7ff471440c3e6a9310ef78328a", + "35f731c0f6356b8f30651bb3cbe0d922c49deba5", + "9b9874c1c1d92afa554137e191d34ea33acc322f", "c311dd74325e8cebfc8529a6d24a6fa4ecb7137e", "d7398de15b2837a58a62a701ca1b3384625afec4", "a78b28472bb7ff480ddedd06b9cf2daa775fa7ae", @@ -120,8 +120,8 @@ static const char *sha1_graphics_a8b8g8r8[] = "bf57a6a37fb107d29ed3d45695919887abcb7902", "3db0f8bcca3d94920aa57be6321202b8c3c08822", "1f1fc165a4dae7ba118ddccb58a279bfe3876b0a", - "66da15b6780a4ca3b3d2eb1d1dba4e30f7b74964", - "42fefefe4435570fa8038ec759140c66c76570e9", + "8e09abb108e137c99527ab4c9bd07d95b9254bbb", + "b0178632775d29bec2b16de7b9b8287115c40d0f", "ca7e859647b9498b53fdd92543ad8aea98ff46f3", "3369889a67d6c79a24ee15f7d14374f9995215e4", "473a1fd07df800c87a5d3286b642ace10c61c6af", @@ -149,8 +149,8 @@ static const char *sha1_graphics_24[] = "0fa8cf332a56bb6d7e14e85861fdd60f51d70501", "593d694cdcc8349b3bfc8257041dbcb27e61da45", "1036b91d93e31cd1d4740d0c8642e115e5a38188", - "3469776cc7d8f6fd3bce17a39eec0b4092294e49", - "1cb7f3fcf42c9ca47a0689195ced239a09d3c308", + "1898073cdb35ca4d2b21bba933ac16a0b4297317", + "5068bff794553cf5a3145ae407c9a2984357844c", "413a7989969c229dee4ab1798362f32f96cf0a10", "0bb222e540b82720d4971e4a2fc626899af03e03", "adc20832d8c43f1cf372d8392535492013cd2306", @@ -178,8 +178,8 @@ static const char *sha1_graphics_r5g5b5[] = "420e39ff3bdd04c4b6cc2c98e99cb7993c7a0de5", "1fabf0fdd046857b1974e31c1c1764fa9d1a762f", "449092689226a1172b6086ba1181d6b6d6499f26", - "5c636ffadec10fbe440b552fe6436f3dbc607dcf", - "4aac89fc18c128eddb69eea658272af53138a1cb", + "1a92a60f190d33ef06d9decb56fd3fdd33f3af03", + "e61f5978c2e28c0c6d8f5eefe0f840c975586efc", "897d16f4d6a6ddad685d23ed7828d4f676539b75", "9d21bcfdeaf1ca5d47eb823bdefc24d7a95f4f56", "6daaf945a955928c5c124c880522ca4634fb2343", @@ -207,8 +207,8 @@ static const char *sha1_graphics_r4g4b4[] = "115a6bd382410a4a1d3c1fa71d8bf02536863e38", "65c6d1228e3b6d63d42647f14217bc1658b70d9a", "25fcb75aa687aac35b8f72640889fe92413e00c5", - "dbc8d66b419880108793db91c05766c0c6efd86d", - "6092ccbab6b6e073c6ac8244d122f2cfc453aa38", + "3bddf9d53e89560b083302b146cd33791b13d941", + "a81504498c7a7bb46340ce74476a42f70f2730b1", "e61a4f2657a444d8c49f84fb944f9f847667bf2b", "32b6e0aa79b7e96cd0ab2da167f6463c011023a8", "1d283aa4d2b2114f7809fe59357d590c7c779aa7", @@ -236,8 +236,8 @@ static const char *sha1_graphics_8[] = "5ba8f99ca034666effa556748c49a0f5a015125f", "b67ba2f55659c75ac72c1112494461bb3086e1a4", "73e2859ce849f756f954718ce3c90f02e31712b6", - "196d832d283bf642d2e481e5452ca175f7902761", - "9552f48b88982633a44001227abb847dae4d06b0", + "b1dff0f5dd233b44ee568878c5d3f8ae1d80c6d9", + "1f27dc1a1316fb7a4a78fe40fcd4bdae3aaad218", "6e375e1485a1e45ac6ab10af49645d5fb2e76dff", "cfc67c325c7cdf96d90af9b3cceb8d0504cbb3b0", "7262364067e03c7fa498af1d59d228d6c63b460e", @@ -265,8 +265,8 @@ static const char *sha1_graphics_4[] = "665bbbc749a5ffeedc0d62aef0661a5ce845b017", "1f26a01730f67d40ea711a50d9d801bac15a642e", "3b53d24178cfacba53103a44dfd5d072b15a6781", - "fa0d5f2d9419d8310fe4af7a290d13c5026c77de", - "5070ecae5085209508f7450d5f21c69737a178e9", + "c52cfd57f26037723d37192722fc3a217f280c9e", + "e34da6500cf2e424d980714d92737cf6c31a7bda", "d17f4358ae529f920960ed89e535902ee13b0033", "0f44e12ecd1ea7e39433890443626d4fc35204a4", "eb38683e812fd13dca971ba8f4cfd2b6820d3524", @@ -636,6 +636,7 @@ static void draw_graphics(HDC hdc, BITMAPINFO *bmi, BYTE *bits, const char ***sh brush_bits[14] = 0xff; brush_bits[65] = 0xff; brush_bits[69] = 0xff; + brush_bits[72] = 0xff;
dib_brush = CreateDIBPatternBrushPt(brush_bi, DIB_RGB_COLORS);