Fix edge case in soft invalidation.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16002 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Alexander Malmberg 2003-02-18 20:26:13 +00:00
parent b797bda46e
commit 6b01d08cb1
2 changed files with 17 additions and 1 deletions

View file

@ -1,3 +1,15 @@
2003-02-18 21:24 Alexander Malmberg <alexander@malmberg.org>
* Headers/gnustep/gui/GSLayoutManager.h, Source/GSLayoutManager.m:
Add basic interface that lets the typesetter access soft-invalidated
glyph information.
* Source/GSHorizontalTypesetter.m (-layoutLineNewParagraph:): Use
the soft-invalidated information to avoid rebuilding the layout
(when possible).
* Source/NSLayoutManager.m: Fix edge case in soft invalidation.
2003-02-18 Fred Kiefer <FredKiefer@gmx.de>
* TextConverters/RTF/RTFProducer.m

View file

@ -1822,7 +1822,7 @@ this file describes this.
/* printf("original=%i, new=%i, delta %i\n",
original_last_glyph,new_last_glyph,glyph_delta);*/
if (r.location < layout_char)
if (r.location <= layout_char)
{
unsigned int glyph_index, last_glyph;
textcontainer_t *tc;
@ -1831,6 +1831,10 @@ this file describes this.
int new_num;
NSRange char_range;
/*
Note that r.location might equal layout_char, in which case
r.location won't actually have any text container or line frag.
*/
if (r.location == [_textStorage length])
{
/*