Merge pull request #557 from proski/parallels
Fix Parallels Client on Mac
This commit is contained in:
commit
571035d433
@ -149,9 +149,9 @@ xrdp_bitmap_create_with_data(int width, int height,
|
|||||||
struct xrdp_wm *wm)
|
struct xrdp_wm *wm)
|
||||||
{
|
{
|
||||||
struct xrdp_bitmap *self = (struct xrdp_bitmap *)NULL;
|
struct xrdp_bitmap *self = (struct xrdp_bitmap *)NULL;
|
||||||
|
int Bpp;
|
||||||
#if defined(NEED_ALIGN)
|
#if defined(NEED_ALIGN)
|
||||||
tintptr data_as_int;
|
tintptr data_as_int;
|
||||||
int Bpp;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
self = (struct xrdp_bitmap *)g_malloc(sizeof(struct xrdp_bitmap), 1);
|
self = (struct xrdp_bitmap *)g_malloc(sizeof(struct xrdp_bitmap), 1);
|
||||||
@ -160,13 +160,7 @@ xrdp_bitmap_create_with_data(int width, int height,
|
|||||||
self->height = height;
|
self->height = height;
|
||||||
self->bpp = bpp;
|
self->bpp = bpp;
|
||||||
self->wm = wm;
|
self->wm = wm;
|
||||||
#if defined(NEED_ALIGN)
|
|
||||||
data_as_int = (tintptr) data;
|
|
||||||
if (((bpp >= 24) && (data_as_int & 3)) ||
|
|
||||||
(((bpp == 15) || (bpp == 16)) && (data_as_int & 1)))
|
|
||||||
{
|
|
||||||
/* got to copy data here, it's not aligned
|
|
||||||
other calls in this file assume alignment */
|
|
||||||
Bpp = 4;
|
Bpp = 4;
|
||||||
switch (bpp)
|
switch (bpp)
|
||||||
{
|
{
|
||||||
@ -180,6 +174,15 @@ xrdp_bitmap_create_with_data(int width, int height,
|
|||||||
Bpp = 2;
|
Bpp = 2;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
self->line_size = width * Bpp;
|
||||||
|
|
||||||
|
#if defined(NEED_ALIGN)
|
||||||
|
data_as_int = (tintptr) data;
|
||||||
|
if (((bpp >= 24) && (data_as_int & 3)) ||
|
||||||
|
(((bpp == 15) || (bpp == 16)) && (data_as_int & 1)))
|
||||||
|
{
|
||||||
|
/* got to copy data here, it's not aligned
|
||||||
|
other calls in this file assume alignment */
|
||||||
self->data = (char *)g_malloc(width * height * Bpp, 0);
|
self->data = (char *)g_malloc(width * height * Bpp, 0);
|
||||||
g_memcpy(self->data, data, width * height * Bpp);
|
g_memcpy(self->data, data, width * height * Bpp);
|
||||||
return self;
|
return self;
|
||||||
|
Loading…
Reference in New Issue
Block a user