diff --git a/client/DirectFB/dfreerdp.c b/client/DirectFB/dfreerdp.c index 95b8cc7a4..1af7cc95e 100644 --- a/client/DirectFB/dfreerdp.c +++ b/client/DirectFB/dfreerdp.c @@ -168,7 +168,7 @@ boolean df_post_connect(freerdp* instance) context = ((dfContext*) instance->context); dfi = context->dfi; - gdi_init(instance, CLRCONV_ALPHA | CLRBUF_16BPP | CLRBUF_32BPP, NULL); + gdi_init(instance, CLRCONV_ALPHA | CLRCONV_INVERT | CLRBUF_16BPP | CLRBUF_32BPP, NULL); gdi = instance->context->gdi; dfi->err = DirectFBCreate(&(dfi->dfb)); diff --git a/client/Windows/wfreerdp.c b/client/Windows/wfreerdp.c index 3811f4acb..987cccdfc 100644 --- a/client/Windows/wfreerdp.c +++ b/client/Windows/wfreerdp.c @@ -226,7 +226,7 @@ boolean wf_post_connect(freerdp* instance) if (wfi->sw_gdi) { - gdi_init(instance, CLRCONV_ALPHA | CLRBUF_32BPP, NULL); + gdi_init(instance, CLRCONV_ALPHA | CLRCONV_INVERT | CLRBUF_32BPP, NULL); gdi = instance->context->gdi; wfi->hdc = gdi->primary->hdc; wfi->primary = wf_image_new(wfi, width, height, wfi->dstBpp, gdi->primary_buffer); diff --git a/client/X11/xfreerdp.c b/client/X11/xfreerdp.c index 4675c0397..7881c816a 100644 --- a/client/X11/xfreerdp.c +++ b/client/X11/xfreerdp.c @@ -587,7 +587,7 @@ boolean xf_post_connect(freerdp* instance) rdpGdi* gdi; uint32 flags; - flags = CLRCONV_ALPHA; + flags = CLRCONV_ALPHA | CLRCONV_INVERT; if (xfi->bpp > 16) flags |= CLRBUF_32BPP; diff --git a/client/test/freerdp.c b/client/test/freerdp.c index 804d5dfe1..6c0a19790 100644 --- a/client/test/freerdp.c +++ b/client/test/freerdp.c @@ -182,7 +182,7 @@ boolean tf_post_connect(freerdp* instance) { rdpGdi* gdi; - gdi_init(instance, CLRCONV_ALPHA | CLRBUF_16BPP | CLRBUF_32BPP, NULL); + gdi_init(instance, CLRCONV_ALPHA | CLRCONV_INVERT | CLRBUF_16BPP | CLRBUF_32BPP, NULL); gdi = instance->context->gdi; instance->update->BeginPaint = tf_begin_paint;