X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fglx%2Ffont-ximage.c;h=22ef3a814e7388a972d54d8a09e9953fb0af4f9d;hb=6afd6db0ae9396cd7ff897ade597cd5483f49b0e;hp=25ceb422112b234d6f848120b594efec2654b173;hpb=f8cf5ac7b2f53510f80a0eaf286a25298be17bfe;p=xscreensaver diff --git a/hacks/glx/font-ximage.c b/hacks/glx/font-ximage.c index 25ceb422..22ef3a81 100644 --- a/hacks/glx/font-ximage.c +++ b/hacks/glx/font-ximage.c @@ -1,5 +1,5 @@ /* font-ximage.c --- renders text to an XImage for use with OpenGL. - * xscreensaver, Copyright (c) 2001, 2003 Jamie Zawinski + * xscreensaver, Copyright (c) 2001-2013 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -68,7 +68,7 @@ to_pow2 (int i) This XImage will be 32 bits per pixel, 8 each per R, G, and B, with the extra byte set to 0xFF. - Foregroune and background are GL-style color specifiers: 4 floats from + Foreground and background are GL-style color specifiers: 4 floats from 0.0-1.0. */ XImage * @@ -128,12 +128,14 @@ text_to_ximage (Screen *screen, Visual *visual, XCharStruct o2; int ascent, descent, direction; token = 0; - XTextExtents (f, line, strlen(line), + XTextExtents (f, line, (int) strlen(line), &direction, &ascent, &descent, &o2); overall.lbearing = MAX(overall.lbearing, o2.lbearing); overall.rbearing = MAX(overall.rbearing, o2.rbearing); lines++; } + free (text); + text = 0; width = overall.lbearing + overall.rbearing + margin + margin + 1; height = ((f->ascent + f->descent) * lines) + margin + margin; @@ -164,7 +166,7 @@ text_to_ximage (Screen *screen, Visual *visual, int ascent, descent, direction; token = 0; - XTextExtents(f, line, strlen(line), + XTextExtents(f, line, (int)strlen(line), &direction, &ascent, &descent, &o2); XDrawString(dpy, bitmap, gc, overall.lbearing + margin + xoff, @@ -172,7 +174,7 @@ text_to_ximage (Screen *screen, Visual *visual, (f->descent * lines) + margin + yoff), - line, strlen(line)); + line, (int) strlen(line)); lines++; } free(text2);