Alexandre Julliard : winex11: Default to an ARGB visual when depth is set to 32.
Alexandre Julliard
julliard at winehq.org
Fri Jan 26 16:59:10 CST 2018
Module: wine
Branch: master
Commit: 31c7a7157d991d3d60ff8985fa1061c9eb97142a
URL: https://source.winehq.org/git/wine.git/?a=commit;h=31c7a7157d991d3d60ff8985fa1061c9eb97142a
Author: Alexandre Julliard <julliard at winehq.org>
Date: Fri Jan 26 13:39:22 2018 +0100
winex11: Default to an ARGB visual when depth is set to 32.
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/winex11.drv/x11drv_main.c | 36 ++++++++++++++++++++----------------
1 file changed, 20 insertions(+), 16 deletions(-)
diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c
index a2ec18b..e67a3c0 100644
--- a/dlls/winex11.drv/x11drv_main.c
+++ b/dlls/winex11.drv/x11drv_main.c
@@ -484,11 +484,29 @@ static void init_visuals( Display *display, int screen )
int count;
XVisualInfo *info;
+ argb_visual.screen = screen;
+ argb_visual.class = TrueColor;
+ argb_visual.depth = 32;
+ argb_visual.red_mask = 0xff0000;
+ argb_visual.green_mask = 0x00ff00;
+ argb_visual.blue_mask = 0x0000ff;
+
+ if ((info = XGetVisualInfo( display, VisualScreenMask | VisualDepthMask | VisualClassMask |
+ VisualRedMaskMask | VisualGreenMaskMask | VisualBlueMaskMask,
+ &argb_visual, &count )))
+ {
+ argb_visual = *info;
+ XFree( info );
+ }
+
default_visual.screen = screen;
if (default_visual.depth) /* depth specified */
{
- info = XGetVisualInfo( display, VisualScreenMask | VisualDepthMask, &default_visual, &count );
- if (info)
+ if (default_visual.depth == 32 && argb_visual.visual)
+ {
+ default_visual = argb_visual;
+ }
+ else if ((info = XGetVisualInfo( display, VisualScreenMask | VisualDepthMask, &default_visual, &count )))
{
default_visual = *info;
XFree( info );
@@ -510,20 +528,6 @@ static void init_visuals( Display *display, int screen )
}
default_colormap = XCreateColormap( display, root_window, default_visual.visual, AllocNone );
- argb_visual.screen = screen;
- argb_visual.class = TrueColor;
- argb_visual.depth = 32;
- argb_visual.red_mask = 0xff0000;
- argb_visual.green_mask = 0x00ff00;
- argb_visual.blue_mask = 0x0000ff;
-
- if ((info = XGetVisualInfo( display, VisualScreenMask | VisualDepthMask | VisualClassMask |
- VisualRedMaskMask | VisualGreenMaskMask | VisualBlueMaskMask,
- &argb_visual, &count )))
- {
- argb_visual = *info;
- XFree( info );
- }
TRACE( "default visual %lx class %u argb %lx\n",
default_visual.visualid, default_visual.class, argb_visual.visualid );
}
More information about the wine-cvs
mailing list