[Libreoffice-commits] core.git: vcl/win
Tor Lillqvist
tml at collabora.com
Wed Dec 30 00:33:54 PST 2015
vcl/win/gdi/winlayout.cxx | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
New commits:
commit 7368803e540d530a157d3c4234ca5428a44cbc4a
Author: Tor Lillqvist <tml at 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;
More information about the Libreoffice-commits
mailing list