vcl/win/gdi/winlayout.cxx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
New commits: commit 7368803e540d530a157d3c4234ca5428a44cbc4a Author: Tor Lillqvist <t...@collabora.com> Date: Mon Dec 21 18:36:07 2015 +0200 tdf#96420: Avoid drawing ugly black boxes on top of replacement glyphs When UniscribeLayout::DrawText() was used from MultiSalLayout to draw the base layout level after having drawn fallback glyphs, it mis-rendered the runs that contained the missing glyphs. Avoid this by handing the pRectToErase parameter also here. Change-Id: Ib40aa9e9e60d72db1cdd331ba03ae8230aadbba8 diff --git a/vcl/win/gdi/winlayout.cxx b/vcl/win/gdi/winlayout.cxx index f46ae47..75d3467 100644 --- a/vcl/win/gdi/winlayout.cxx +++ b/vcl/win/gdi/winlayout.cxx @@ -1777,10 +1777,16 @@ void UniscribeLayout::Simplify( bool /*bIsBase*/ ) } bool UniscribeLayout::DrawTextImpl(HDC hDC, - const Rectangle* /* pRectToErase */, + const Rectangle* pRectToErase, Point* /* pPos */, int* /* pGetNextGlypInfo */) const { + if (pRectToErase) + { + RECT aRect = { pRectToErase->Left(), pRectToErase->Top(), pRectToErase->Left()+pRectToErase->GetWidth(), pRectToErase->Top()+pRectToErase->GetHeight() }; + FillRect(hDC, &aRect, static_cast<HBRUSH>(GetStockObject(WHITE_BRUSH))); + } + HFONT hOrigFont = DisableFontScaling(); int nBaseClusterOffset = 0; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits