From: Marc-AndreĢ Moreau Date: Sun, 19 Oct 2014 01:31:24 +0000 (-0400) Subject: mfreerdp: fix crash with <32bpp color depths X-Git-Tag: 2.0.0-beta1+android10~794^2~19^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3346d3b912d51e75f28396837370e3d2d5aec6be;p=platform%2Fupstream%2Ffreerdp.git mfreerdp: fix crash with <32bpp color depths --- diff --git a/client/Mac/MRDPView.m b/client/Mac/MRDPView.m index 48c4430..ea6a8e9 100644 --- a/client/Mac/MRDPView.m +++ b/client/Mac/MRDPView.m @@ -944,10 +944,10 @@ BOOL mac_post_connect(freerdp* instance) flags = CLRCONV_ALPHA | CLRCONV_RGB555; - if (settings->ColorDepth > 16) + //if (settings->ColorDepth > 16) flags |= CLRBUF_32BPP; - else - flags |= CLRBUF_16BPP; + //else + // flags |= CLRBUF_16BPP; gdi_init(instance, flags, NULL); gdi = instance->context->gdi; @@ -1120,17 +1120,17 @@ CGContextRef mac_create_bitmap_context(rdpContext* context) CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); - if (gdi->dstBpp == 16) + if (gdi->bytesPerPixel == 2) { bitmap_context = CGBitmapContextCreate(gdi->primary_buffer, - gdi->width, gdi->height, 5, gdi->width * 2, colorSpace, - kCGBitmapByteOrder16Little | kCGImageAlphaNoneSkipFirst); + gdi->width, gdi->height, 5, gdi->width * gdi->bytesPerPixel, + colorSpace, kCGBitmapByteOrder16Little | kCGImageAlphaNoneSkipFirst); } else { bitmap_context = CGBitmapContextCreate(gdi->primary_buffer, - gdi->width, gdi->height, 8, gdi->width * 4, colorSpace, - kCGBitmapByteOrder32Little | kCGImageAlphaNoneSkipFirst); + gdi->width, gdi->height, 8, gdi->width * gdi->bytesPerPixel, + colorSpace, kCGBitmapByteOrder32Little | kCGImageAlphaNoneSkipFirst); } CGColorSpaceRelease(colorSpace);