[Libreoffice-commits] core.git: vcl/source
Stephan Bergmann
sbergman at redhat.com
Mon Mar 6 07:10:39 UTC 2017
vcl/source/gdi/sallayout.cxx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit aa2758e133a74cc5d76cdb42478604fcb0fe3f6e
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Sun Mar 5 23:34:10 2017 +0100
Revert "Does aPos need proper initialization here?"
This reverts commit 55212835b5eba797a14430a0268b3bea773e0852. For one, I'd
intended to add the initialization in SalLayout::GetBoundRect, not
SalLayout::GetOutline. And for another, if you look closer, the overrides of
GetNextGlyphs will always set rPos (ignoring any old value) upon returning non-
zero.
I'd seen calls to WinSalGraphics::DrawTextLayout ->
D2DWriteTextOutRenderer::operator () -> GetBoundRect fail (thus returning false
from operator () and causing the assert in DrawTextLayout to fire) after
7453cb58df4ce434a1252567f961cfe497064aca "pPos and pGetNextGlypInfo always have
the same value", but maybe that's even normal: Prior to that commit, that call
chain would trivially return false: If none of the early returns from
operator () hit, the final
return (succeeded && bGlyphs && pRectToErase);
would always return false as pRectToErase would be passed null from
DrawTextLayout, and the assert there was
assert(!result);
diff --git a/vcl/source/gdi/sallayout.cxx b/vcl/source/gdi/sallayout.cxx
index 2179b63..88f02d6 100644
--- a/vcl/source/gdi/sallayout.cxx
+++ b/vcl/source/gdi/sallayout.cxx
@@ -668,7 +668,7 @@ bool SalLayout::GetOutline( SalGraphics& rSalGraphics,
basegfx::B2DPolyPolygon aGlyphOutline;
- Point aPos(0, 0);
+ Point aPos;
const GlyphItem* pGlyph;
int nStart = 0;
while (GetNextGlyphs(1, &pGlyph, aPos, nStart))
More information about the Libreoffice-commits
mailing list