Merge pull request #124 from mfleisz/master
libfreerdp-gdi: fixed half-mirrored rfx tiles when raw bitmaps with alpha enabled are processed
This commit is contained in:
commit
75050034a9
@ -934,10 +934,17 @@ void gdi_surface_bits(rdpUpdate* update, SURFACE_BITS_COMMAND* surface_bits_comm
|
|||||||
|
|
||||||
surface_bits_command->bpp = 32;
|
surface_bits_command->bpp = 32;
|
||||||
surface_bits_command->bitmapData = gdi->image->bitmap->data;
|
surface_bits_command->bitmapData = gdi->image->bitmap->data;
|
||||||
}
|
|
||||||
|
|
||||||
|
uint8* temp_image = (uint8*) xmalloc(gdi->image->bitmap->width * gdi->image->bitmap->height * 4);
|
||||||
|
freerdp_image_invert(gdi->image->bitmap->data, temp_image, gdi->image->bitmap->width, gdi->image->bitmap->height, 32);
|
||||||
|
xfree(gdi->image->bitmap->data);
|
||||||
|
gdi->image->bitmap->data = temp_image;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
freerdp_image_invert(surface_bits_command->bitmapData, gdi->image->bitmap->data,
|
freerdp_image_invert(surface_bits_command->bitmapData, gdi->image->bitmap->data,
|
||||||
gdi->image->bitmap->width, gdi->image->bitmap->height, 32);
|
gdi->image->bitmap->width, gdi->image->bitmap->height, 32);
|
||||||
|
}
|
||||||
|
|
||||||
gdi_BitBlt(gdi->primary->hdc, surface_bits_command->destLeft, surface_bits_command->destTop,
|
gdi_BitBlt(gdi->primary->hdc, surface_bits_command->destLeft, surface_bits_command->destTop,
|
||||||
surface_bits_command->width, surface_bits_command->height, gdi->image->hdc, 0, 0, GDI_SRCCOPY);
|
surface_bits_command->width, surface_bits_command->height, gdi->image->hdc, 0, 0, GDI_SRCCOPY);
|
||||||
|
Loading…
Reference in New Issue
Block a user