server: Return the surface rect as top clipping rect.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
6ccb94392a
commit
766287ad6a
|
@ -572,7 +572,6 @@ void dibdrv_set_window_surface( DC *dc, struct window_surface *surface )
|
||||||
{
|
{
|
||||||
char buffer[FIELD_OFFSET( BITMAPINFO, bmiColors[256] )];
|
char buffer[FIELD_OFFSET( BITMAPINFO, bmiColors[256] )];
|
||||||
BITMAPINFO *info = (BITMAPINFO *)buffer;
|
BITMAPINFO *info = (BITMAPINFO *)buffer;
|
||||||
RECT rect;
|
|
||||||
void *bits;
|
void *bits;
|
||||||
PHYSDEV windev;
|
PHYSDEV windev;
|
||||||
struct windrv_physdev *physdev;
|
struct windrv_physdev *physdev;
|
||||||
|
@ -599,12 +598,8 @@ void dibdrv_set_window_surface( DC *dc, struct window_surface *surface )
|
||||||
dibdrv = physdev->dibdrv;
|
dibdrv = physdev->dibdrv;
|
||||||
bits = surface->funcs->get_info( surface, info );
|
bits = surface->funcs->get_info( surface, info );
|
||||||
init_dib_info_from_bitmapinfo( &dibdrv->dib, info, bits );
|
init_dib_info_from_bitmapinfo( &dibdrv->dib, info, bits );
|
||||||
/* clip the device rect to the surface */
|
|
||||||
rect = surface->rect;
|
|
||||||
offset_rect( &rect, dc->device_rect.left, dc->device_rect.top );
|
|
||||||
intersect_rect( &dc->device_rect, &dc->device_rect, &rect );
|
|
||||||
dibdrv->dib.rect = dc->vis_rect;
|
dibdrv->dib.rect = dc->vis_rect;
|
||||||
offset_rect( &dibdrv->dib.rect, -rect.left, -rect.top );
|
offset_rect( &dibdrv->dib.rect, -dc->device_rect.left, -dc->device_rect.top );
|
||||||
dibdrv->bounds = surface->funcs->get_bounds( surface );
|
dibdrv->bounds = surface->funcs->get_bounds( surface );
|
||||||
DC_InitDC( dc );
|
DC_InitDC( dc );
|
||||||
}
|
}
|
||||||
|
|
|
@ -179,7 +179,7 @@ static void update_visible_region( struct dce *dce )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!surface) top_rect = get_virtual_screen_rect();
|
if (!surface) SetRectEmpty( &top_rect );
|
||||||
__wine_set_visible_region( dce->hdc, vis_rgn, &win_rect, &top_rect, surface );
|
__wine_set_visible_region( dce->hdc, vis_rgn, &win_rect, &top_rect, surface );
|
||||||
if (surface) window_surface_release( surface );
|
if (surface) window_surface_release( surface );
|
||||||
}
|
}
|
||||||
|
|
|
@ -2445,7 +2445,7 @@ DECL_HANDLER(get_visible_region)
|
||||||
if (data) set_reply_data_ptr( data, reply->total_size );
|
if (data) set_reply_data_ptr( data, reply->total_size );
|
||||||
}
|
}
|
||||||
reply->top_win = top->handle;
|
reply->top_win = top->handle;
|
||||||
reply->top_rect = top->visible_rect;
|
reply->top_rect = top->surface_rect;
|
||||||
|
|
||||||
if (!is_desktop_window(win))
|
if (!is_desktop_window(win))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue