xserver: Branch 'master'

Keith Packard keithp at kemper.freedesktop.org
Sun Jun 6 16:22:58 PDT 2010


 render/glyph.c |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

New commits:
commit f03be727d647183a2176355ad0ac9a6735067be9
Author: Keith Packard <keithp at keithp.com>
Date:   Sun Jun 6 16:04:42 2010 -0700

    Place glyph privates at correct location within the allocate storage
    
    A glyph allocation consists of :
    
      GlyphRec
      numScreens * PicturePtr
      glyph privates
    
    Tell the dix private bits to start past the picture pointers.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/render/glyph.c b/render/glyph.c
index 948a20a..7193d47 100644
--- a/render/glyph.c
+++ b/render/glyph.c
@@ -368,8 +368,6 @@ FindGlyph (GlyphSetPtr glyphSet, Glyph id)
     return glyph;
 }
 
-#define GLYPH_SIZE	(sizeof (GlyphRec) + dixPrivatesSize(PRIVATE_GLYPH))
-
 GlyphPtr
 AllocateGlyph (xGlyphInfo *gi, int fdepth)
 {
@@ -377,15 +375,17 @@ AllocateGlyph (xGlyphInfo *gi, int fdepth)
     int		     size;
     GlyphPtr	     glyph;
     int		     i;
+    int		     head_size;
 
-    size = screenInfo.numScreens * sizeof (PicturePtr);
-    glyph = (GlyphPtr) malloc (size + GLYPH_SIZE);
+    head_size = sizeof (GlyphRec) + screenInfo.numScreens * sizeof (PicturePtr);
+    size = (head_size + dixPrivatesSize(PRIVATE_GLYPH));
+    glyph = (GlyphPtr) malloc (size);
     if (!glyph)
 	return 0;
     glyph->refcnt = 0;
     glyph->size = size + sizeof (xGlyphInfo);
     glyph->info = *gi;
-    dixInitPrivates(glyph, glyph + 1, PRIVATE_GLYPH);
+    dixInitPrivates(glyph, (char *) glyph + head_size, PRIVATE_GLYPH);
 
     for (i = 0; i < screenInfo.numScreens; i++)
     {


More information about the xorg-commit mailing list