From f6328963c675b02c20ac9b3bfbbfe08d8f18952a Mon Sep 17 00:00:00 2001 From: David Reveman Date: Tue, 24 Jun 2008 12:26:02 -0400 Subject: [PATCH] Use dixRequestPrivate to request glyph private storage. --- hw/dmx/dmxpict.c | 9 ++++----- hw/dmx/dmxpict.h | 3 --- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/hw/dmx/dmxpict.c b/hw/dmx/dmxpict.c index 4a12abda3..14604d575 100644 --- a/hw/dmx/dmxpict.c +++ b/hw/dmx/dmxpict.c @@ -390,6 +390,9 @@ Bool dmxPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats) if (!dixRequestPrivate(dmxPictPrivateKey, sizeof(dmxPictPrivRec))) return FALSE; + if (!dixRequestPrivate(dmxGlyphSetPrivateKey, sizeof(dmxGlyphPrivRec))) + return FALSE; + ps = GetPictureScreen(pScreen); DMX_WRAP(CreatePicture, dmxCreatePicture, dmxScreen, ps); @@ -525,11 +528,9 @@ static int dmxProcRenderCreateGlyphSet(ClientPtr client) glyphSet = SecurityLookupIDByType(client, stuff->gsid, GlyphSetType, DixDestroyAccess); - glyphPriv = xalloc(sizeof(dmxGlyphPrivRec)); - if (!glyphPriv) return BadAlloc; + glyphPriv = DMX_GET_GLYPH_PRIV(glyphSet); glyphPriv->glyphSets = NULL; MAXSCREENSALLOC_RETURN(glyphPriv->glyphSets, BadAlloc); - DMX_SET_GLYPH_PRIV(glyphSet, glyphPriv); for (i = 0; i < dmxNumScreens; i++) { DMXScreenInfo *dmxScreen = &dmxScreens[i]; @@ -582,8 +583,6 @@ static int dmxProcRenderFreeGlyphSet(ClientPtr client) } MAXSCREENSFREE(glyphPriv->glyphSets); - xfree(glyphPriv); - DMX_SET_GLYPH_PRIV(glyphSet, NULL); } return dmxSaveRenderVector[stuff->renderReqType](client); diff --git a/hw/dmx/dmxpict.h b/hw/dmx/dmxpict.h index a81eb7d37..c7e913448 100644 --- a/hw/dmx/dmxpict.h +++ b/hw/dmx/dmxpict.h @@ -124,9 +124,6 @@ extern DevPrivateKey dmxGlyphSetPrivateKey; /**< Index for glyphset private data #define DMX_GET_PICT_PRIV(_pPict) \ (dmxPictPrivPtr)dixLookupPrivate(&(_pPict)->devPrivates, dmxPictPrivateKey) -/** Set the glyphset private data given a glyphset pointer */ -#define DMX_SET_GLYPH_PRIV(_pGlyph, _pPriv) \ - GlyphSetSetPrivate((_pGlyph), dmxGlyphSetPrivateKey, (_pPriv)) /** Get the glyphset private data given a glyphset pointer */ #define DMX_GET_GLYPH_PRIV(_pGlyph) \ (dmxGlyphPrivPtr)GlyphSetGetPrivate((_pGlyph), dmxGlyphSetPrivateKey)