From e4bc6d4d9dd627ebfb4431a0e3b7b287d32840dc Mon Sep 17 00:00:00 2001 From: Fred Kiefer Date: Sun, 15 Sep 2002 21:25:00 +0000 Subject: [PATCH] drawRun() now correctly flags that it wants some temporary memory allocated. The old behaviour resulted in a memory leak. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@14451 72102866-910b-0410-8b05-ffd578937521 --- Source/NSStringDrawing.m | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Source/NSStringDrawing.m b/Source/NSStringDrawing.m index 331c2a66c..f223cdb67 100644 --- a/Source/NSStringDrawing.m +++ b/Source/NSStringDrawing.m @@ -216,7 +216,7 @@ drawRun(GSTextRun *run, NSPoint origin, GSDrawInfo *draw) // glyph is an unicode char value // if the font has non-standard encoding we need to remap it. unichar u[run->glyphCount]; - char *r; + char *r = NULL; unsigned l = run->glyphCount; unsigned s = 0; @@ -224,7 +224,7 @@ drawRun(GSTextRun *run, NSPoint origin, GSDrawInfo *draw) u[i] = run->glyphs[i].glyph; if (GSFromUnicode((unsigned char**)&r, &s, u, l, enc, - NSDefaultMallocZone(), GSUniTerminate) == NO) + NSDefaultMallocZone(), GSUniTerminate | GSUniTemporary) == NO) { [NSException raise: NSCharacterConversionException format: @"Can't convert to/from Unicode string."]; @@ -249,7 +249,6 @@ drawRun(GSTextRun *run, NSPoint origin, GSDrawInfo *draw) (enc != NSUnicodeStringEncoding)) { unsigned int size = 1; - unsigned char c = 0; unsigned char *dst = buf; GSFromUnicode(&dst, &size, &(run->glyphs[i].glyph), 1, enc, 0, 0);