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:
Marc-André Moreau 2011-09-29 10:14:40 -07:00
commit 75050034a9

View File

@ -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);