server: Valid rects are in parent coordinates.

This commit is contained in:
Alexandre Julliard 2010-10-07 14:43:29 +02:00
parent d39d2da065
commit fcd685977d
2 changed files with 4 additions and 4 deletions

View File

@ -2336,7 +2336,7 @@ enum message_type
user_handle_t previous; /* previous window in Z order */
rectangle_t window; /* window rectangle (in parent coords) */
rectangle_t client; /* client rectangle (in parent coords) */
VARARG(valid,rectangles); /* valid rectangles from WM_NCCALCSIZE (in client coords) */
VARARG(valid,rectangles); /* valid rectangles from WM_NCCALCSIZE (in parent coords) */
@REPLY
unsigned int new_style; /* new window style */
unsigned int new_ex_style; /* new window extended style */

View File

@ -2137,10 +2137,10 @@ DECL_HANDLER(set_window_pos)
{
rectangle_t valid_rects[2];
memcpy( valid_rects, (const rectangle_t *)get_req_data() + 1, 2 * sizeof(rectangle_t) );
if (win->ex_style & WS_EX_LAYOUTRTL)
if (win->parent && win->parent->ex_style & WS_EX_LAYOUTRTL)
{
mirror_rect( &win->client_rect, &valid_rects[0] );
mirror_rect( &win->client_rect, &valid_rects[1] );
mirror_rect( &win->parent->client_rect, &valid_rects[0] );
mirror_rect( &win->parent->client_rect, &valid_rects[1] );
}
set_window_pos( win, previous, flags, &window_rect, &client_rect, &visible_rect, valid_rects );
}