Fixed surface alignment.
This commit is contained in:
parent
043243f43c
commit
f62d00445e
@ -232,8 +232,11 @@ static UINT xf_CreateSurface(RdpgfxClientContext* context,
|
|||||||
|
|
||||||
if (xfc->scanline_pad > 0)
|
if (xfc->scanline_pad > 0)
|
||||||
{
|
{
|
||||||
surface->gdi.scanline += (xfc->scanline_pad / 8);
|
const UINT32 align = xfc->scanline_pad / 8;
|
||||||
surface->gdi.scanline -= (surface->gdi.scanline % (xfc->scanline_pad / 8));
|
const UINT32 pad = align - (surface->gdi.scanline % align);
|
||||||
|
|
||||||
|
if (align != pad)
|
||||||
|
surface->gdi.scanline += pad;
|
||||||
}
|
}
|
||||||
|
|
||||||
size = surface->gdi.scanline * surface->gdi.height;
|
size = surface->gdi.scanline * surface->gdi.height;
|
||||||
|
@ -698,8 +698,16 @@ static UINT gdi_CreateSurface(RdpgfxClientContext* context,
|
|||||||
return ERROR_INTERNAL_ERROR;
|
return ERROR_INTERNAL_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
surface->scanline = (surface->width + (surface->width % 4)) * 4;
|
surface->scanline = surface->width * 4;
|
||||||
surface->data = (BYTE*) calloc(1, surface->scanline * surface->height);
|
{
|
||||||
|
const UINT32 align = 16;
|
||||||
|
const UINT32 pad = align - (surface->scanline % align);
|
||||||
|
|
||||||
|
if (align != pad)
|
||||||
|
surface->scanline += pad;
|
||||||
|
|
||||||
|
surface->data = (BYTE*) calloc(1, surface->scanline * surface->height);
|
||||||
|
}
|
||||||
|
|
||||||
if (!surface->data)
|
if (!surface->data)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user