winex11: Fix event coordinates mapping for the root window in the explorer process.

This commit is contained in:
Alexandre Julliard 2010-12-13 12:42:47 +01:00
parent ee44c7c0f4
commit 10aa13a98e
2 changed files with 6 additions and 0 deletions

View File

@ -788,6 +788,7 @@ static void X11DRV_Expose( HWND hwnd, XEvent *xev )
flags |= RDW_ALLCHILDREN; flags |= RDW_ALLCHILDREN;
} }
else OffsetRect( &rect, virtual_screen_rect.left, virtual_screen_rect.top );
RedrawWindow( hwnd, &rect, 0, flags ); RedrawWindow( hwnd, &rect, 0, flags );
} }

View File

@ -239,6 +239,11 @@ static HWND update_mouse_state( HWND hwnd, Window window, int x, int y, unsigned
x += data->whole_rect.left - data->client_rect.left; x += data->whole_rect.left - data->client_rect.left;
y += data->whole_rect.top - data->client_rect.top; y += data->whole_rect.top - data->client_rect.top;
} }
if (window == root_window)
{
x += virtual_screen_rect.left;
y += virtual_screen_rect.top;
}
pt->x = x; pt->x = x;
pt->y = y; pt->y = y;
if (GetWindowLongW( data->hwnd, GWL_EXSTYLE ) & WS_EX_LAYOUTRTL) if (GetWindowLongW( data->hwnd, GWL_EXSTYLE ) & WS_EX_LAYOUTRTL)