diff --git a/client/X11/xf_client.c b/client/X11/xf_client.c index 04cabb0c5..39f25f1f7 100644 --- a/client/X11/xf_client.c +++ b/client/X11/xf_client.c @@ -1093,9 +1093,11 @@ BOOL xf_post_connect(freerdp* instance) gdi = context->gdi; xfc->primary_buffer = gdi->primary_buffer; + xfc->palette = gdi->palette; } else { + xfc->palette = xfc->palette_hwgdi; xfc->srcBpp = settings->ColorDepth; xf_gdi_register_update_callbacks(update); } diff --git a/client/X11/xfreerdp.h b/client/X11/xfreerdp.h index f6461a638..5e1bdfab1 100644 --- a/client/X11/xfreerdp.h +++ b/client/X11/xfreerdp.h @@ -127,7 +127,8 @@ struct xf_context HANDLE mutex; BOOL UseXThreads; BOOL cursorHidden; - BYTE palette[256 * 4]; + BYTE* palette; + BYTE palette_hwgdi[256 * 4]; HGDI_DC hdc; UINT32 bitmap_size;