mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-31 12:54:13 +00:00
winex11: Add an option to disable shaping of layered window to work around compositor bugs.
This commit is contained in:
parent
fdcbd3137a
commit
defcfde17c
3 changed files with 7 additions and 0 deletions
|
@ -1621,6 +1621,8 @@ static void update_surface_region( struct x11drv_window_surface *surface )
|
|||
int x, y, start, width;
|
||||
HRGN rgn;
|
||||
|
||||
if (!shape_layered_windows) return;
|
||||
|
||||
if (!surface->is_argb && surface->color_key == CLR_INVALID)
|
||||
{
|
||||
XShapeCombineMask( gdi_display, surface->window, ShapeBounding, 0, 0, None, ShapeSet );
|
||||
|
|
|
@ -218,6 +218,7 @@ extern const int X11DRV_XROPfunction[];
|
|||
|
||||
extern int client_side_graphics DECLSPEC_HIDDEN;
|
||||
extern int client_side_with_render DECLSPEC_HIDDEN;
|
||||
extern int shape_layered_windows DECLSPEC_HIDDEN;
|
||||
extern const struct gdi_dc_funcs *X11DRV_XRender_Init(void) DECLSPEC_HIDDEN;
|
||||
|
||||
extern struct opengl_funcs *get_glx_driver(UINT) DECLSPEC_HIDDEN;
|
||||
|
|
|
@ -81,6 +81,7 @@ int private_color_map = 0;
|
|||
int primary_monitor = 0;
|
||||
int client_side_graphics = 1;
|
||||
int client_side_with_render = 1;
|
||||
int shape_layered_windows = 1;
|
||||
int copy_default_colors = 128;
|
||||
int alloc_system_colors = 256;
|
||||
DWORD thread_data_tls_index = TLS_OUT_OF_INDEXES;
|
||||
|
@ -397,6 +398,9 @@ static void setup_options(void)
|
|||
if (!get_config_key( hkey, appkey, "UseXIM", buffer, sizeof(buffer) ))
|
||||
use_xim = IS_OPTION_TRUE( buffer[0] );
|
||||
|
||||
if (!get_config_key( hkey, appkey, "ShapeLayeredWindows", buffer, sizeof(buffer) ))
|
||||
shape_layered_windows = IS_OPTION_TRUE( buffer[0] );
|
||||
|
||||
if (!get_config_key( hkey, appkey, "PrivateColorMap", buffer, sizeof(buffer) ))
|
||||
private_color_map = IS_OPTION_TRUE( buffer[0] );
|
||||
|
||||
|
|
Loading…
Reference in a new issue