https://bugs.freedesktop.org/show_bug.cgi?id=47553

--- Comment #21 from Michael Meeks <[email protected]> ---
bfoman - thanks for this:

00bedcc8 5d9b8d09 00bedcf0 ffffffff 21a577b1
vcllo!std::vector<bool,std::allocator<bool> >::operator[]+0x28 [c:\program
files\microsoft visual studio 9.0\vc\include\vector @ 2091]
00bedfa4 5d88610a 00bee02c 0000000c 00000013
vcllo!MultiSalLayout::AdjustLayout+0xd69
[d:\losrc\3542\vcl\source\gdi\sallayout.cxx @ 1856]
00bee098 5d884e0d 059971b8 00000000 00000004
vcllo!OutputDevice::ImplLayout+0x55a [d:\losrc\3542\vcl\source\gdi\outdev3.cxx
@ 6070]
00be

    // Compute rtl flags, since in some scripts glyphs/char order can be
    // reversed for a few character sequencies e.g. Myanmar
    std::vector<bool> vRtl(rArgs.mnEndCharPos - rArgs.mnMinCharPos, false);

I guess we're reading out of bounds in that vector. It'd be nice to re-test
this on master, so we can get line numbers better synch'd but I guess that
really it crashes on:

        if (bRtl) std::fill(vRtl.begin() + (nRunStart - rArgs.mnMinCharPos),
                            vRtl.begin() + (nRunEnd - rArgs.mnMinCharPos),
true);

dtardon's fix to add the () around the offset calculations might have fixed
this - but that happened before 3.5.x so ... really unclear what's going on
there.

Any chance of some debugging foo there bfoman ? we would need:

vRtl.size()
the contents of all members of rArgs, the values of nRunStart and nRunEnd.

Thanks !

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to