vcl: crash in GraphiteLayout::expandOrCondense:
When printing the bugdoc from i#103958: error: attempt to subscript container with out-of-bounds index 5, but container only holds 5 elements. #4 0x00007fd37902be5e in GraphiteLayout::expandOrCondense (this=0x35296a8, rArgs=...) at vcl/source/glyphs/graphite_layout.cxx:848 #5 0x00007fd37902bc54 in GraphiteLayout::AdjustLayout (this=0x35296a8, rArgs=...) at vcl/source/glyphs/graphite_layout.cxx:812 #6 0x00007fd3790345c8 in GraphiteServerFontLayout::AdjustLayout (this=0x3529640, rArgs=...) at vcl/inc/graphite_serverfont.hxx:76 #7 0x00007fd378d5c91d in OutputDevice::forceFallbackFontToFit (this=0x35022c0, rFallback=..., rFallbackFont=..., rFontSelData=..., nFallbackLevel=1, rLayoutArgs=..., rOrigMetric=...) at vcl/source/gdi/outdev3.cxx:6094 #8 0x00007fd378d5cece in OutputDevice::ImplGlyphFallbackLayout (this=0x35022c0, pSalLayout=0x36136c0, rLayoutArgs=...) at vcl/source/gdi/outdev3.cxx:6206 #9 0x00007fd378d5c6fe in OutputDevice::ImplLayout (this=0x35022c0, rOrigStr="\327\252\327\220\327\250\327\231\327\232:__________", nMinIndex=0, nLen=5, rLogicalPos=..., nLogicalWidth=570, pDXArray=0x0, bFilter=true) at vcl/source/gdi/outdev3.cxx:6065 #10 0x00007fd378d5b9da in OutputDevice::DrawStretchText (this=0x35022c0, rStartPt=..., nWidth=570, rStr="\327\252\327\220\327\250\327\231\327\232:__________", nIndex=0, nLen=5) at vcl/source/gdi/outdev3.cxx:5840 #11 0x00007fd378d27f1e in MetaStretchTextAction::Execute (this=0x3588880, pOut=0x35022c0) at vcl/source/gdi/metaact.cxx:1482 #12 0x00007fd378cdbea5 in GDIMetaFile::Play (this=0x7ffff63e7da0, pOut=0x35022c0, nPos=1283) at vcl/source/gdi/gdimtf.cxx:424 #13 0x00007fd378ea1c6f in vcl::PrinterController::printFilteredPage (this=0x34ff550, i_nPage=10) at vcl/source/gdi/print3.cxx:1207
This commit is contained in:
parent
617c914016
commit
d066f7e4af
1 changed files with 1 additions and 1 deletions
|
@ -843,7 +843,7 @@ void GraphiteLayout::expandOrCondense(ImplLayoutArgs &rArgs)
|
|||
assert(nCharIndex > -1);
|
||||
mvCharDxs[nCharIndex-mnMinCharPos] += nOffset;
|
||||
// adjust char dxs for rest of characters in cluster
|
||||
while (++nCharIndex < static_cast<int>(mvGlyph2Char.size()))
|
||||
while (++nCharIndex < static_cast<int>(mvChar2BaseGlyph.size()))
|
||||
{
|
||||
int nChar2Base = mvChar2BaseGlyph[nCharIndex-mnMinCharPos];
|
||||
if (nChar2Base == -1 || nChar2Base == static_cast<int>(i))
|
||||
|
|
Loading…
Reference in a new issue