From f16ffaefa7c79efb59111263922565a3f708ea7b Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Mon, 8 Aug 2016 09:29:36 +0200 Subject: [PATCH] Fixed glyph cache issues. --- libfreerdp/cache/glyph.c | 10 ---------- libfreerdp/gdi/graphics.c | 1 + libfreerdp/gdi/test/TestGdiBitBlt.c | 2 +- 3 files changed, 2 insertions(+), 11 deletions(-) diff --git a/libfreerdp/cache/glyph.c b/libfreerdp/cache/glyph.c index 70cc5b7..4ae5986 100644 --- a/libfreerdp/cache/glyph.c +++ b/libfreerdp/cache/glyph.c @@ -181,16 +181,6 @@ static BOOL update_process_glyph_fragments(rdpContext* context, flAccel)) return FALSE; } - - /* Contrary to glyphs, the offset is added after the fragment. */ - if ((ulCharInc == 0) && (!(flAccel & SO_CHAR_INC_EQUAL_BM_BASE))) - { - if (flAccel & SO_VERTICAL) - y += data[index++]; - - if (flAccel & SO_HORIZONTAL) - x += data[index++]; - } } break; diff --git a/libfreerdp/gdi/graphics.c b/libfreerdp/gdi/graphics.c index 55e341d..eb459c3 100644 --- a/libfreerdp/gdi/graphics.c +++ b/libfreerdp/gdi/graphics.c @@ -314,6 +314,7 @@ static BOOL gdi_Glyph_EndDraw(rdpContext* context, UINT32 x, UINT32 y, return FALSE; gdi_DeleteObject((HGDIOBJECT)gdi->drawing->hdc->brush); + gdi->drawing->hdc->brush = NULL; gdi_SetNullClipRgn(gdi->drawing->hdc); return TRUE; } diff --git a/libfreerdp/gdi/test/TestGdiBitBlt.c b/libfreerdp/gdi/test/TestGdiBitBlt.c index 7509a5f..f3d5334 100644 --- a/libfreerdp/gdi/test/TestGdiBitBlt.c +++ b/libfreerdp/gdi/test/TestGdiBitBlt.c @@ -484,7 +484,7 @@ static BOOL test_gdi_BitBlt(UINT32 SrcFormat, UINT32 DstFormat) {GDI_DSan, bmp_SRC, NULL}, {GDI_DSxn, bmp_SRC, NULL}, {GDI_DPa, bmp_SRC, NULL}, - {GDI_D, bmp_SRC, NULL}, + {GDI_DSTCOPY, bmp_SRC, NULL}, {GDI_DPno, bmp_SRC, NULL}, {GDI_SDno, bmp_SRC, NULL}, {GDI_PDno, bmp_SRC, NULL}, -- 2.7.4