* Source/GSHorizontalTypesetter.m: Remove unlock and

log the exception, but don't rethrow it.
	* Source/GSLayoutManager.m: return a zero length range in
	 -(NSRange)glyphRangeForCharacterRange:actualCharacterRange:
	when charRange has a length and a location of 0.
	Added by Gregory John Casamento <greg.casamento@gmail.com>


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28521 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Gregory John Casamento 2009-08-23 16:37:28 +00:00
parent 3fb844f810
commit 8949deeb03
3 changed files with 18 additions and 2 deletions

View file

@ -1,3 +1,12 @@
2009-08-23 Doug Simons <dpsimons@testplant.com>
* Source/GSHorizontalTypesetter.m: Remove unlock and
log the exception, but don't rethrow it.
* Source/GSLayoutManager.m: return a zero length range in
-(NSRange)glyphRangeForCharacterRange:actualCharacterRange:
when charRange has a length and a location of 0.
Added by Gregory John Casamento <greg.casamento@gmail.com>
2009-08-23 17:16-BST David Chisnall <theraven@sucs.org>
* Tools/sound/GSOSSSoundSink.m: Added OSS sound back end

View file

@ -1283,8 +1283,9 @@ NS_DURING
*nextGlyphIndex = curGlyph;
NS_HANDLER
[lock unlock];
[localException raise];
NSLog(@"GSHorizontalTypesetter - %@", [localException reason]);
// [lock unlock];
//[localException raise];
ret=0; /* This is never reached, but it shuts up the compiler. */
NS_ENDHANDLER
[lock unlock];

View file

@ -1137,6 +1137,12 @@ Fills in all glyph holes up to last. only looking at levels below level
}
#endif
if (charRange.length == 0 && charRange.location == 0)
{
if (actualCharRange)
*actualCharRange = charRange;
return NSMakeRange(0, 0);
}
pos = NSMaxRange(charRange) - 1;
[self _generateGlyphsUpToCharacter: pos];
if (glyphs->char_length <= pos)