Follow-up Comment #9, bug #43454 (project gnustep):

I am a bit confused that a break point at line 756 could still result in a
loop. As there is no loop inside of _generateGlyphsUpToCharacter: this would
mean that the loop is in _generateGlyphs_char_r:
Which again would mean that you only get the glyph dump before the change not
after. But in your picuture I see that "Hole program" has been replaced by
"Hola programa".
What is also strange is that the glyph skip list internaly referes to the
index 14, although there should always have been 13 characters at most.

I tried to reproduce the behaviour with this bit of code:

  NSTextView *text = [[NSTextView alloc] initWithFrame:
NSMakeRect(0,0,200,200)];

  [text insertText: @"Hola program"];
  NSLog(@"generateGlyphsUpToGlyph 0");
  NSLayoutManager *lm = [text layoutManager];
  NSTextStorage *textStorage = [text textStorage];
  NSLog(@"inserting text");
  [textStorage beginEditing];
  [text replaceCharactersInRange: NSMakeRange(5, 7) withString: @"programa"];
  [textStorage endEditing];
  [text didChangeText];
  NSLog(@"inserted text");

which should match what happens inside of _acceptGuess:, but this seems to
work and never gives invalid glyph indexes.
I also tried to add calls to 
[lm glyphAtIndex: 13 isValidIndex: &valid];
with different indexes, but none of that resulted in a loop.

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?43454>

_______________________________________________
  Nachricht gesendet von/durch Savannah
  http://savannah.gnu.org/


_______________________________________________
Bug-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-gnustep

Reply via email to