mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-23 07:00:46 +00:00
Avoid making calls to the layout manager with invalid arguments.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15748 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
f1255d750b
commit
314e298be1
1 changed files with 15 additions and 7 deletions
|
@ -2234,13 +2234,19 @@ This method is for user changes; see NSTextView_actions.m.
|
|||
NSRange glyphRange;
|
||||
unsigned glyphIndex;
|
||||
NSRect rect;
|
||||
|
||||
charRange = NSMakeRange (aRange.location, 0);
|
||||
if (charRange.location == [[[_layoutManager textStorage] string] length])
|
||||
{
|
||||
rect = NSZeroRect;
|
||||
goto ugly_hack_done;
|
||||
}
|
||||
|
||||
charRange = NSMakeRange (aRange.location, 1);
|
||||
if (charRange.location == [[[_layoutManager textStorage] string] length])
|
||||
{
|
||||
if (charRange.location == 0)
|
||||
{
|
||||
rect = NSZeroRect;
|
||||
goto ugly_hack_done;
|
||||
}
|
||||
else
|
||||
charRange.location--;
|
||||
}
|
||||
|
||||
glyphRange = [_layoutManager glyphRangeForCharacterRange: charRange
|
||||
actualCharacterRange: NULL];
|
||||
glyphIndex = glyphRange.location;
|
||||
|
@ -4052,6 +4058,8 @@ configuation! */
|
|||
NSRange glyphRange;
|
||||
NSRect rect;
|
||||
|
||||
if (!aRange.length)
|
||||
return NSZeroRect;
|
||||
glyphRange = [_layoutManager glyphRangeForCharacterRange: aRange
|
||||
actualCharacterRange: NULL];
|
||||
rect = [_layoutManager boundingRectForGlyphRange: glyphRange
|
||||
|
|
Loading…
Reference in a new issue