On Sat, Dec 03, 2016 at 11:40:49PM +0100, Guillaume Munch wrote:
> Le 02/12/2016 à 08:03, Scott Kostyshak a écrit :
> > On Sat, Nov 19, 2016 at 12:41:13AM +0100, Guillaume Munch wrote:
> > 
> > > I cannot reproduce with the provided info (2.3dev & Qt5).
> > 
> > A bisect led to b3bed292. The attached patch fixes it for me, although I
> > don't understand my patch.
> 
> Hello Scott,
> 
> Nothing too complicated really. An update to lib/unicodesymbols had
> introduced characters outside LyX's known blocks (specifically ꜜ and ꜛ
> in "Modifier Tone Letters"). Then another bug in the char->block
> assignment placed these characters in the next known block, "Hangul
> Syllables", so GuiSymbols thought the encoding had Hangul Syllables. But
> when you asked for Hangul Syllables, the block->chars assignment did its
> job correctly and said there were actually none. So GuiSymbols tried to
> initialize a 0-size model for Hangul Syllables. At this point, the
> assumption 0 <= symbols.size()-1 is indeed wrong (though it does not
> cause the bad access by itself). Your particular bug was fixed by
> correcting the char->block assignment. However there were other means to
> trigger symbols.size()==0, e.g. when the encoding changes by moving the
> cursor, a third issue. There was also an unrelated bad access when
> trying to show the tooltip after the end of the list. These bugs are now
> fixed, except for the missing names and ranges of the new blocks.
> 
> > What was the point of subtracting 1 from
> > symbols.size()?
> > 
> 
> This is according to the documentation:
> https://doc.qt.io/qt-5/qabstractitemmodel.html#beginInsertRows
> Inserting from 0 to n informs the view that n+1 lines are inserted. But,
> its place is after endResetModel.

Thanks a lot for your explanation! That helps me understand things much
better.

I tested master and the problem is fixed (Hangul Syllables no longer
shows up, which I think is expected since it is empty). I scrolled
through all the symbols and everything is smooth. Thank you for your
fixes.

Scott

Attachment: signature.asc
Description: PGP signature

Reply via email to