winex11: Avoid useless updates of the desktop window Z-order.
This commit is contained in:
parent
9454e3ff7c
commit
f40b045858
|
@ -68,7 +68,7 @@ void X11DRV_Expose( HWND hwnd, XEvent *xev )
|
||||||
XExposeEvent *event = &xev->xexpose;
|
XExposeEvent *event = &xev->xexpose;
|
||||||
RECT rect;
|
RECT rect;
|
||||||
struct x11drv_win_data *data;
|
struct x11drv_win_data *data;
|
||||||
int flags = RDW_INVALIDATE | RDW_ERASE | RDW_ALLCHILDREN;
|
int flags = RDW_INVALIDATE | RDW_ERASE;
|
||||||
|
|
||||||
TRACE( "win %p (%lx) %d,%d %dx%d\n",
|
TRACE( "win %p (%lx) %d,%d %dx%d\n",
|
||||||
hwnd, event->window, event->x, event->y, event->width, event->height );
|
hwnd, event->window, event->x, event->y, event->width, event->height );
|
||||||
|
@ -89,9 +89,8 @@ void X11DRV_Expose( HWND hwnd, XEvent *xev )
|
||||||
rect.right = rect.left + event->width;
|
rect.right = rect.left + event->width;
|
||||||
rect.bottom = rect.top + event->height;
|
rect.bottom = rect.top + event->height;
|
||||||
|
|
||||||
if (event->window == root_window)
|
if (event->window != root_window)
|
||||||
OffsetRect( &rect, virtual_screen_rect.left, virtual_screen_rect.top );
|
{
|
||||||
|
|
||||||
SERVER_START_REQ( update_window_zorder )
|
SERVER_START_REQ( update_window_zorder )
|
||||||
{
|
{
|
||||||
req->window = hwnd;
|
req->window = hwnd;
|
||||||
|
@ -105,6 +104,9 @@ void X11DRV_Expose( HWND hwnd, XEvent *xev )
|
||||||
|
|
||||||
/* make position relative to client area instead of parent */
|
/* make position relative to client area instead of parent */
|
||||||
OffsetRect( &rect, -data->client_rect.left, -data->client_rect.top );
|
OffsetRect( &rect, -data->client_rect.left, -data->client_rect.top );
|
||||||
|
flags |= RDW_ALLCHILDREN;
|
||||||
|
}
|
||||||
|
|
||||||
RedrawWindow( hwnd, &rect, 0, flags );
|
RedrawWindow( hwnd, &rect, 0, flags );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue