Alexandre Julliard : winex11: Always ignore alpha channel with XRender gradients.
Alexandre Julliard
julliard at winehq.org
Fri Dec 2 10:58:28 CST 2011
Module: wine
Branch: master
Commit: e332ebb20020727ab69aeae3f8b54755a7027aff
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e332ebb20020727ab69aeae3f8b54755a7027aff
Author: Alexandre Julliard <julliard at winehq.org>
Date: Fri Dec 2 14:12:07 2011 +0100
winex11: Always ignore alpha channel with XRender gradients.
---
dlls/winex11.drv/xrender.c | 8 ++------
1 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/dlls/winex11.drv/xrender.c b/dlls/winex11.drv/xrender.c
index f7fd11e..bccbe4d 100644
--- a/dlls/winex11.drv/xrender.c
+++ b/dlls/winex11.drv/xrender.c
@@ -2562,12 +2562,8 @@ static BOOL xrenderdrv_GradientFill( PHYSDEV dev, TRIVERTEX *vert_array, ULONG n
colors[1].red = v2->Red * 257 / 256;
colors[1].green = v2->Green * 257 / 256;
colors[1].blue = v2->Blue * 257 / 256;
- if (has_alpha( physdev->format ))
- {
- colors[0].alpha = v1->Alpha * 257 / 256;
- colors[1].alpha = v2->Alpha * 257 / 256;
- }
- else colors[0].alpha = colors[1].alpha = 65535;
+ /* always ignore alpha since otherwise xrender will want to pre-multiply the colors */
+ colors[0].alpha = colors[1].alpha = 65535;
pt[0].x = v1->x;
pt[0].y = v1->y;
More information about the wine-cvs
mailing list