From: Dmitry Timoshkov dmitry@baikal.ru
Wine-Bug: http://bugs.winehq.org/show_bug.cgi?id=58730 Signed-off-by: Dmitry Timoshkov dmitry@baikal.ru --- dlls/gdiplus/graphics.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c index 2a053a80408..1c7e3bde09c 100644 --- a/dlls/gdiplus/graphics.c +++ b/dlls/gdiplus/graphics.c @@ -599,12 +599,13 @@ static GpStatus alpha_blend_hdc_pixels(GpGraphics *graphics, INT dst_x, INT dst_ if(!hbitmap || !temp_bits) goto done;
- if ((graphics->hdc && + if (graphics->hdc && GetDeviceCaps(graphics->hdc, TECHNOLOGY) == DT_RASPRINTER && - GetDeviceCaps(graphics->hdc, SHADEBLENDCAPS) == SB_NONE) || - fmt & PixelFormatPAlpha) + GetDeviceCaps(graphics->hdc, SHADEBLENDCAPS) == SB_NONE) blend_32bppARGB(src_width, src_height, temp_bits, 4 * src_width, src, src_stride); + else if (fmt & PixelFormatPAlpha) + memcpy(temp_bits, src, src_width * src_height * 4); else convert_32bppARGB_to_32bppPARGB(src_width, src_height, temp_bits, 4 * src_width, src, src_stride);
This merge request was approved by Esme Povirk.