diff --git a/client/X11/xf_graphics.c b/client/X11/xf_graphics.c index 2b9d06a87..276c65c92 100644 --- a/client/X11/xf_graphics.c +++ b/client/X11/xf_graphics.c @@ -243,8 +243,8 @@ void xf_Glyph_BeginDraw(rdpContext* context, int x, int y, int width, int height { xfInfo* xfi = ((xfContext*) context)->xfi; - bgcolor = freerdp_color_convert_rgb(bgcolor, xfi->srcBpp, 32, xfi->clrconv); - fgcolor = freerdp_color_convert_rgb(fgcolor, xfi->srcBpp, 32, xfi->clrconv); + bgcolor = freerdp_color_convert_var_rgb(bgcolor, xfi->srcBpp, 32, xfi->clrconv); + fgcolor = freerdp_color_convert_var_rgb(fgcolor, xfi->srcBpp, 32, xfi->clrconv); XSetFunction(xfi->display, xfi->gc, GXcopy); XSetFillStyle(xfi->display, xfi->gc, FillSolid); diff --git a/libfreerdp-cache/glyph.c b/libfreerdp-cache/glyph.c index bd66fc8c5..c4fa08602 100644 --- a/libfreerdp-cache/glyph.c +++ b/libfreerdp-cache/glyph.c @@ -81,7 +81,7 @@ void update_process_glyph_fragments(rdpContext* context, uint8* data, uint32 len graphics = context->graphics; glyph_cache = context->cache->glyph; - if (opWidth > 1) + if (opWidth > 0 && opHeight > 0) Glyph_BeginDraw(context, opX, opY, opWidth, opHeight, bgcolor, fgcolor); else Glyph_BeginDraw(context, 0, 0, 0, 0, bgcolor, fgcolor);