forked from Mirrors/wine-wine
server: Also exclude the top-level client rectangle for windows that have a pixel format.
parent
77874d7863
commit
ca5746ad1a
|
@ -2029,6 +2029,7 @@ struct window_surface *create_surface( Window window, const XVisualInfo *vis, co
|
||||||
}
|
}
|
||||||
|
|
||||||
surface->gc = XCreateGC( gdi_display, window, 0, NULL );
|
surface->gc = XCreateGC( gdi_display, window, 0, NULL );
|
||||||
|
XSetSubwindowMode( gdi_display, surface->gc, IncludeInferiors );
|
||||||
surface->byteswap = image_needs_byteswap( surface->image, is_r8g8b8(vis), format->bits_per_pixel );
|
surface->byteswap = image_needs_byteswap( surface->image, is_r8g8b8(vis), format->bits_per_pixel );
|
||||||
|
|
||||||
if (surface->byteswap || format->bits_per_pixel == 4 || format->bits_per_pixel == 8)
|
if (surface->byteswap || format->bits_per_pixel == 4 || format->bits_per_pixel == 8)
|
||||||
|
|
|
@ -1084,6 +1084,9 @@ static struct region *get_surface_region( struct window *win )
|
||||||
set_region_rect( clip, &win->client_rect );
|
set_region_rect( clip, &win->client_rect );
|
||||||
if (win->win_region && !intersect_window_region( clip, win )) goto error;
|
if (win->win_region && !intersect_window_region( clip, win )) goto error;
|
||||||
|
|
||||||
|
if ((win->paint_flags & PAINT_HAS_PIXEL_FORMAT) && !subtract_region( region, region, clip ))
|
||||||
|
goto error;
|
||||||
|
|
||||||
/* clip children */
|
/* clip children */
|
||||||
|
|
||||||
if (!is_desktop_window(win))
|
if (!is_desktop_window(win))
|
||||||
|
@ -2264,7 +2267,7 @@ DECL_HANDLER(set_window_pos)
|
||||||
top = get_top_clipping_window( win );
|
top = get_top_clipping_window( win );
|
||||||
if (is_visible( top ) &&
|
if (is_visible( top ) &&
|
||||||
(top->paint_flags & PAINT_HAS_SURFACE) &&
|
(top->paint_flags & PAINT_HAS_SURFACE) &&
|
||||||
(top->paint_flags & PAINT_PIXEL_FORMAT_CHILD))
|
(top->paint_flags & (PAINT_HAS_PIXEL_FORMAT | PAINT_PIXEL_FORMAT_CHILD)))
|
||||||
reply->surface_win = top->handle;
|
reply->surface_win = top->handle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue