[2/2] server: Make sure that region and rectangle have the same origin before calling rect_in_region().

Alexandre Julliard julliard at winehq.org
Tue Jun 5 10:32:54 CDT 2012


Dmitry Timoshkov <dmitry at baikal.ru> writes:

> @@ -2457,7 +2457,9 @@ DECL_HANDLER(update_window_zorder)
>          if (!(ptr->style & WS_VISIBLE)) continue;
>          if (ptr->ex_style & WS_EX_TRANSPARENT) continue;
>          if (!intersect_rect( &tmp, &ptr->visible_rect, &rect )) continue;
> -        if (ptr->win_region && !rect_in_region( ptr->win_region, &rect )) continue;
> +        tmp = rect;
> +        offset_rect( &tmp, -ptr->client_rect.left, -ptr->client_rect.top );
> +        if (ptr->win_region && !rect_in_region( ptr->win_region, &tmp )) continue;

The window region is not in client coordinates.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list