The mask argument was almost always 0 or (equivalently) M_ANY. Drop the mask, and fix up the scant few callers who needed anything stronger.
Signed-off-by: Adam Jackson <[email protected]> --- Xext/panoramiXprocs.c | 13 ++++++------- Xext/saver.c | 12 ++++-------- Xext/shm.c | 14 +++++--------- Xext/sync.c | 2 +- Xext/xselinux_ext.c | 2 +- Xext/xvdisp.c | 4 ++-- damageext/damageext.c | 4 ++-- dbe/dbe.c | 2 +- dix/dispatch.c | 19 ++++++++----------- dix/dixfonts.c | 4 ++-- dix/dixutils.c | 17 +++++++---------- glx/glxcmds.c | 6 +++--- hw/dmx/glxProxy/glxcmds.c | 37 ++++++++++++++++++------------------- hw/kdrive/ephyr/ephyrdriext.c | 12 +++--------- hw/kdrive/ephyr/ephyrglxext.c | 7 ++----- hw/xfree86/dri/xf86dri.c | 9 +++------ hw/xfree86/dri2/dri2ext.c | 4 +--- hw/xquartz/xpr/appledri.c | 12 ++++-------- include/dix.h | 3 +-- include/pixmap.h | 9 --------- randr/rrscreen.c | 6 ++++-- render/render.c | 4 ++-- 22 files changed, 80 insertions(+), 122 deletions(-) diff --git a/Xext/panoramiXprocs.c b/Xext/panoramiXprocs.c index d843168..3851cfb 100644 --- a/Xext/panoramiXprocs.c +++ b/Xext/panoramiXprocs.c @@ -537,7 +537,7 @@ int PanoramiXGetGeometry(ClientPtr client) REQUEST(xResourceReq); REQUEST_SIZE_MATCH(xResourceReq); - rc = dixLookupDrawable(&pDraw, stuff->id, client, M_ANY, DixGetAttrAccess); + rc = dixLookupDrawable(&pDraw, stuff->id, client, DixGetAttrAccess); if (rc != Success) return rc; @@ -1049,7 +1049,7 @@ int PanoramiXCopyArea(ClientPtr client) int pitch, rc; FOR_NSCREENS(j) { - rc = dixLookupDrawable(drawables+j, src->info[j].id, client, 0, + rc = dixLookupDrawable(drawables+j, src->info[j].id, client, DixGetAttrAccess); if (rc != Success) return rc; @@ -1104,7 +1104,7 @@ int PanoramiXCopyArea(ClientPtr client) VALIDATE_DRAWABLE_AND_GC(stuff->dstDrawable, pDst, DixWriteAccess); if (stuff->dstDrawable != stuff->srcDrawable) { - rc = dixLookupDrawable(&pSrc, stuff->srcDrawable, client, 0, + rc = dixLookupDrawable(&pSrc, stuff->srcDrawable, client, DixReadAccess); if (rc != Success) return rc; @@ -1208,7 +1208,7 @@ int PanoramiXCopyPlane(ClientPtr client) VALIDATE_DRAWABLE_AND_GC(stuff->dstDrawable, pdstDraw, DixWriteAccess); if (stuff->dstDrawable != stuff->srcDrawable) { - rc = dixLookupDrawable(&psrcDraw, stuff->srcDrawable, client, 0, + rc = dixLookupDrawable(&psrcDraw, stuff->srcDrawable, client, DixReadAccess); if (rc != Success) return rc; @@ -1809,8 +1809,7 @@ int PanoramiXGetImage(ClientPtr client) if(draw->type == XRT_PIXMAP) return (*SavedProcVector[X_GetImage])(client); - rc = dixLookupDrawable(&pDraw, stuff->drawable, client, 0, - DixReadAccess); + rc = dixLookupDrawable(&pDraw, stuff->drawable, client, DixReadAccess); if (rc != Success) return rc; @@ -1847,7 +1846,7 @@ int PanoramiXGetImage(ClientPtr client) drawables[0] = pDraw; for(i = 1; i < PanoramiXNumScreens; i++) { - rc = dixLookupDrawable(drawables+i, draw->info[i].id, client, 0, + rc = dixLookupDrawable(drawables+i, draw->info[i].id, client, DixGetAttrAccess); if (rc != Success) return rc; diff --git a/Xext/saver.c b/Xext/saver.c index 1888603..5fe9f35 100644 --- a/Xext/saver.c +++ b/Xext/saver.c @@ -697,8 +697,7 @@ ProcScreenSaverQueryInfo (ClientPtr client) ScreenSaverScreenPrivatePtr pPriv; REQUEST_SIZE_MATCH (xScreenSaverQueryInfoReq); - rc = dixLookupDrawable(&pDraw, stuff->drawable, client, 0, - DixGetAttrAccess); + rc = dixLookupDrawable(&pDraw, stuff->drawable, client, DixGetAttrAccess); if (rc != Success) return rc; rc = XaceHook(XACE_SCREENSAVER_ACCESS, client, pDraw->pScreen, @@ -769,8 +768,7 @@ ProcScreenSaverSelectInput (ClientPtr client) int rc; REQUEST_SIZE_MATCH (xScreenSaverSelectInputReq); - rc = dixLookupDrawable (&pDraw, stuff->drawable, client, 0, - DixGetAttrAccess); + rc = dixLookupDrawable (&pDraw, stuff->drawable, client, DixGetAttrAccess); if (rc != Success) return rc; @@ -811,8 +809,7 @@ ScreenSaverSetAttributes (ClientPtr client) ColormapPtr pCmap; REQUEST_AT_LEAST_SIZE (xScreenSaverSetAttributesReq); - ret = dixLookupDrawable(&pDraw, stuff->drawable, client, 0, - DixGetAttrAccess); + ret = dixLookupDrawable(&pDraw, stuff->drawable, client, DixGetAttrAccess); if (ret != Success) return ret; pScreen = pDraw->pScreen; @@ -1174,8 +1171,7 @@ ScreenSaverUnsetAttributes (ClientPtr client) int rc; REQUEST_SIZE_MATCH (xScreenSaverUnsetAttributesReq); - rc = dixLookupDrawable(&pDraw, stuff->drawable, client, 0, - DixGetAttrAccess); + rc = dixLookupDrawable(&pDraw, stuff->drawable, client, DixGetAttrAccess); if (rc != Success) return rc; pPriv = GetScreenPrivate (pDraw->pScreen); diff --git a/Xext/shm.c b/Xext/shm.c index 23afe6b..e357552 100644 --- a/Xext/shm.c +++ b/Xext/shm.c @@ -643,8 +643,7 @@ ProcShmGetImage(ClientPtr client) client->errorValue = stuff->format; return BadValue; } - rc = dixLookupDrawable(&pDraw, stuff->drawable, client, 0, - DixReadAccess); + rc = dixLookupDrawable(&pDraw, stuff->drawable, client, DixReadAccess); if (rc != Success) return rc; VERIFY_SHMPTR(stuff->shmseg, stuff->offset, TRUE, shmdesc, client); @@ -808,8 +807,7 @@ ProcPanoramiXShmGetImage(ClientPtr client) if (draw->type == XRT_PIXMAP) return ProcShmGetImage(client); - rc = dixLookupDrawable(&pDraw, stuff->drawable, client, 0, - DixReadAccess); + rc = dixLookupDrawable(&pDraw, stuff->drawable, client, DixReadAccess); if (rc != Success) return rc; @@ -849,7 +847,7 @@ ProcPanoramiXShmGetImage(ClientPtr client) drawables[0] = pDraw; for(i = 1; i < PanoramiXNumScreens; i++) { - rc = dixLookupDrawable(drawables+i, draw->info[i].id, client, 0, + rc = dixLookupDrawable(drawables+i, draw->info[i].id, client, DixReadAccess); if (rc != Success) { @@ -927,8 +925,7 @@ ProcPanoramiXShmCreatePixmap(ClientPtr client) if (!sharedPixmaps) return BadImplementation; LEGAL_NEW_RESOURCE(stuff->pid, client); - rc = dixLookupDrawable(&pDraw, stuff->drawable, client, M_ANY, - DixGetAttrAccess); + rc = dixLookupDrawable(&pDraw, stuff->drawable, client, DixGetAttrAccess); if (rc != Success) return rc; @@ -1052,8 +1049,7 @@ ProcShmCreatePixmap(ClientPtr client) if (!sharedPixmaps) return BadImplementation; LEGAL_NEW_RESOURCE(stuff->pid, client); - rc = dixLookupDrawable(&pDraw, stuff->drawable, client, M_ANY, - DixGetAttrAccess); + rc = dixLookupDrawable(&pDraw, stuff->drawable, client, DixGetAttrAccess); if (rc != Success) return rc; diff --git a/Xext/sync.c b/Xext/sync.c index 36dd278..0da5c0f 100644 --- a/Xext/sync.c +++ b/Xext/sync.c @@ -1964,7 +1964,7 @@ ProcSyncCreateFence(ClientPtr client) REQUEST_SIZE_MATCH(xSyncCreateFenceReq); - rc = dixLookupDrawable(&pDraw, stuff->d, client, M_ANY, DixGetAttrAccess); + rc = dixLookupDrawable(&pDraw, stuff->d, client, DixGetAttrAccess); if (rc != Success) return rc; diff --git a/Xext/xselinux_ext.c b/Xext/xselinux_ext.c index 374571c..38ec8a0 100644 --- a/Xext/xselinux_ext.c +++ b/Xext/xselinux_ext.c @@ -231,7 +231,7 @@ ProcSELinuxGetDrawableContext(ClientPtr client) REQUEST(SELinuxGetContextReq); REQUEST_SIZE_MATCH(SELinuxGetContextReq); - rc = dixLookupDrawable(&pDraw, stuff->id, client, 0, DixGetAttrAccess); + rc = dixLookupDrawable(&pDraw, stuff->id, client, DixGetAttrAccess); if (rc != Success) return rc; diff --git a/Xext/xvdisp.c b/Xext/xvdisp.c index deddebd..6643bba 100644 --- a/Xext/xvdisp.c +++ b/Xext/xvdisp.c @@ -683,7 +683,7 @@ ProcXvSelectVideoNotify(ClientPtr client) REQUEST(xvSelectVideoNotifyReq); REQUEST_SIZE_MATCH(xvSelectVideoNotifyReq); - rc = dixLookupDrawable(&pDraw, stuff->drawable, client, 0, DixReceiveAccess); + rc = dixLookupDrawable(&pDraw, stuff->drawable, client, DixReceiveAccess); if (rc != Success) return rc; @@ -779,7 +779,7 @@ ProcXvStopVideo(ClientPtr client) return status; } - rc = dixLookupDrawable(&pDraw, stuff->drawable, client, 0, DixWriteAccess); + rc = dixLookupDrawable(&pDraw, stuff->drawable, client, DixWriteAccess); if (rc != Success) return rc; diff --git a/damageext/damageext.c b/damageext/damageext.c index 754383d..9203523 100644 --- a/damageext/damageext.c +++ b/damageext/damageext.c @@ -172,7 +172,7 @@ ProcDamageCreate (ClientPtr client) REQUEST_SIZE_MATCH(xDamageCreateReq); LEGAL_NEW_RESOURCE(stuff->damage, client); - rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0, + rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, DixGetAttrAccess|DixReadAccess); if (rc != Success) return rc; @@ -284,7 +284,7 @@ ProcDamageAdd (ClientPtr client) REQUEST_SIZE_MATCH(xDamageAddReq); VERIFY_REGION(pRegion, stuff->region, client, DixWriteAccess); - rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0, + rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, DixWriteAccess); if (rc != Success) return rc; diff --git a/dbe/dbe.c b/dbe/dbe.c index 77b616b..b795472 100644 --- a/dbe/dbe.c +++ b/dbe/dbe.c @@ -680,7 +680,7 @@ ProcDbeGetVisualInfo(ClientPtr client) for (i = 0; i < stuff->n; i++) { - rc = dixLookupDrawable(pDrawables+i, drawables[i], client, 0, + rc = dixLookupDrawable(pDrawables+i, drawables[i], client, DixGetAttrAccess); if (rc != Success) { free(pDrawables); diff --git a/dix/dispatch.c b/dix/dispatch.c index 601b14a..321bb92 100644 --- a/dix/dispatch.c +++ b/dix/dispatch.c @@ -905,7 +905,7 @@ GetGeometry(ClientPtr client, xGetGeometryReply *rep) REQUEST(xResourceReq); REQUEST_SIZE_MATCH(xResourceReq); - rc = dixLookupDrawable(&pDraw, stuff->id, client, M_ANY, DixGetAttrAccess); + rc = dixLookupDrawable(&pDraw, stuff->id, client, DixGetAttrAccess); if (rc != Success) return rc; @@ -1366,8 +1366,7 @@ ProcCreatePixmap(ClientPtr client) client->errorValue = stuff->pid; LEGAL_NEW_RESOURCE(stuff->pid, client); - rc = dixLookupDrawable(&pDraw, stuff->drawable, client, M_ANY, - DixGetAttrAccess); + rc = dixLookupDrawable(&pDraw, stuff->drawable, client, DixGetAttrAccess); if (rc != Success) return rc; @@ -1458,8 +1457,7 @@ ProcCreateGC(ClientPtr client) REQUEST_AT_LEAST_SIZE(xCreateGCReq); client->errorValue = stuff->gc; LEGAL_NEW_RESOURCE(stuff->gc, client); - rc = dixLookupDrawable(&pDraw, stuff->drawable, client, 0, - DixGetAttrAccess); + rc = dixLookupDrawable(&pDraw, stuff->drawable, client, DixGetAttrAccess); if (rc != Success) return rc; @@ -1629,8 +1627,8 @@ ProcCopyArea(ClientPtr client) VALIDATE_DRAWABLE_AND_GC(stuff->dstDrawable, pDst, DixWriteAccess); if (stuff->dstDrawable != stuff->srcDrawable) { - rc = dixLookupDrawable(&pSrc, stuff->srcDrawable, client, 0, - DixReadAccess); + rc = dixLookupDrawable(&pSrc, stuff->srcDrawable, client, + DixReadAccess); if (rc != Success) return rc; if ((pDst->pScreen != pSrc->pScreen) || (pDst->depth != pSrc->depth)) @@ -1670,7 +1668,7 @@ ProcCopyPlane(ClientPtr client) VALIDATE_DRAWABLE_AND_GC(stuff->dstDrawable, pdstDraw, DixWriteAccess); if (stuff->dstDrawable != stuff->srcDrawable) { - rc = dixLookupDrawable(&psrcDraw, stuff->srcDrawable, client, 0, + rc = dixLookupDrawable(&psrcDraw, stuff->srcDrawable, client, DixReadAccess); if (rc != Success) return rc; @@ -2012,7 +2010,7 @@ DoGetImage(ClientPtr client, int format, Drawable drawable, client->errorValue = format; return BadValue; } - rc = dixLookupDrawable(&pDraw, drawable, client, 0, DixReadAccess); + rc = dixLookupDrawable(&pDraw, drawable, client, DixReadAccess); if (rc != Success) return rc; @@ -3047,8 +3045,7 @@ ProcQueryBestSize (ClientPtr client) return BadValue; } - rc = dixLookupDrawable(&pDraw, stuff->drawable, client, M_ANY, - DixGetAttrAccess); + rc = dixLookupDrawable(&pDraw, stuff->drawable, client, DixGetAttrAccess); if (rc != Success) return rc; if (stuff->class != CursorShape && pDraw->type == UNDRAWABLE_WINDOW) diff --git a/dix/dixfonts.c b/dix/dixfonts.c index d8f1529..0d26bbe 100644 --- a/dix/dixfonts.c +++ b/dix/dixfonts.c @@ -1197,7 +1197,7 @@ doPolyText(ClientPtr client, PTclosurePtr c) if (ClientIsAsleep(client) && c->pDraw) { DrawablePtr pDraw; - dixLookupDrawable(&pDraw, c->did, client, 0, DixWriteAccess); + dixLookupDrawable(&pDraw, c->did, client, DixWriteAccess); if (c->pDraw != pDraw) { /* Our drawable has disappeared. Treat like client died... ask the FPE code to clean up after client and avoid further @@ -1475,7 +1475,7 @@ doImageText(ClientPtr client, ITclosurePtr c) if (ClientIsAsleep(client) && c->pDraw) { DrawablePtr pDraw; - dixLookupDrawable(&pDraw, c->did, client, 0, DixWriteAccess); + dixLookupDrawable(&pDraw, c->did, client, DixWriteAccess); if (c->pDraw != pDraw) { /* Our drawable has disappeared. Treat like client died... ask the FPE code to clean up after client. */ diff --git a/dix/dixutils.c b/dix/dixutils.c index 104363b..41a38d7 100644 --- a/dix/dixutils.c +++ b/dix/dixutils.c @@ -188,15 +188,12 @@ CompareISOLatin1Lowered(unsigned char *s1, int s1len, /* * dixLookupWindow and dixLookupDrawable: * Look up the window/drawable taking into account the client doing the - * lookup, the type of drawable desired, and the type of access desired. - * Return Success with *pDraw set if the window/drawable exists and the client - * is allowed access, else return an error code with *pDraw set to NULL. The - * access mask values are defined in resource.h. The type mask values are - * defined in pixmap.h, with zero equivalent to M_DRAWABLE. + * lookup, and the type of access desired. Return Success with *pDraw set if + * the drawable exists and the client is allowed access, else return an error + * code with *pDraw set to NULL. The access mask values are in resource.h. */ int -dixLookupDrawable(DrawablePtr *pDraw, XID id, ClientPtr client, - Mask type, Mask access) +dixLookupDrawable(DrawablePtr *pDraw, XID id, ClientPtr client, Mask access) { DrawablePtr pTmp; int rc; @@ -213,8 +210,6 @@ dixLookupDrawable(DrawablePtr *pDraw, XID id, ClientPtr client, return BadDrawable; if (rc != Success) return rc; - if (!((1 << pTmp->type) & (type ? type : M_DRAWABLE))) - return BadMatch; *pDraw = pTmp; return Success; @@ -224,7 +219,9 @@ int dixLookupWindow(WindowPtr *pWin, XID id, ClientPtr client, Mask access) { int rc; - rc = dixLookupDrawable((DrawablePtr*)pWin, id, client, M_WINDOW, access); + rc = dixLookupDrawable((DrawablePtr*)pWin, id, client, access); + if (*pWin && (*pWin)->drawable.type != DRAWABLE_WINDOW) + return BadWindow; return (rc == BadDrawable) ? BadWindow : rc; } diff --git a/glx/glxcmds.c b/glx/glxcmds.c index 9b4bc9e..8013256 100644 --- a/glx/glxcmds.c +++ b/glx/glxcmds.c @@ -514,7 +514,7 @@ __glXGetDrawable(__GLXcontext *glxc, GLXDrawable drawId, ClientPtr client, * matches the context screen and that the context fbconfig is * compatible with the window visual. */ - rc = dixLookupDrawable(&pDraw, drawId, client, 0, DixGetAttrAccess); + rc = dixLookupDrawable(&pDraw, drawId, client, DixGetAttrAccess); if (rc != Success || pDraw->type != DRAWABLE_WINDOW) { client->errorValue = drawId; *error = __glXError(GLXBadDrawable); @@ -1198,7 +1198,7 @@ DoCreateGLXPixmap(ClientPtr client, __GLXscreen *pGlxScreen, __GLXconfig *config LEGAL_NEW_RESOURCE(glxDrawableId, client); - err = dixLookupDrawable(&pDraw, drawableId, client, 0, DixAddAccess); + err = dixLookupDrawable(&pDraw, drawableId, client, DixAddAccess); if (err != Success) { client->errorValue = drawableId; return err; @@ -1553,7 +1553,7 @@ int __glXDisp_CreateWindow(__GLXclientState *cl, GLbyte *pc) if (!validGlxFBConfig(client, pGlxScreen, req->fbconfig, &config, &err)) return err; - err = dixLookupDrawable(&pDraw, req->window, client, 0, DixAddAccess); + err = dixLookupDrawable(&pDraw, req->window, client, DixAddAccess); if (err != Success || pDraw->type != DRAWABLE_WINDOW) { client->errorValue = req->window; return BadWindow; diff --git a/hw/dmx/glxProxy/glxcmds.c b/hw/dmx/glxProxy/glxcmds.c index f79264e..66c2fb2 100644 --- a/hw/dmx/glxProxy/glxcmds.c +++ b/hw/dmx/glxProxy/glxcmds.c @@ -419,7 +419,7 @@ int __glXBindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc) __glXWindow *pGlxWindow = NULL; int rc; - rc = dixLookupDrawable(&pDraw, req->drawable, client, 0, DixGetAttrAccess); + rc = dixLookupDrawable(&pDraw, req->drawable, client, DixGetAttrAccess); if (rc != Success) { dixLookupResourceByType((pointer*) &pGlxPixmap, req->drawable, __glXPixmapRes, NullClient, DixUnknownAccess); @@ -449,7 +449,7 @@ int __glXJoinSwapGroupSGIX(__GLXclientState *cl, GLbyte *pc) __glXWindow *pGlxWindow = NULL; int rc; - rc = dixLookupDrawable(&pDraw, req->drawable, client, 0, DixManageAccess); + rc = dixLookupDrawable(&pDraw, req->drawable, client, DixManageAccess); if (rc != Success) { dixLookupResourceByType((pointer*) &pGlxPixmap, req->drawable, __glXPixmapRes, NullClient, DixUnknownAccess); @@ -468,8 +468,7 @@ int __glXJoinSwapGroupSGIX(__GLXclientState *cl, GLbyte *pc) } if (req->member != None) { - rc = dixLookupDrawable(&pMember, req->member, client, 0, - DixGetAttrAccess); + rc = dixLookupDrawable(&pMember, req->member, client, DixGetAttrAccess); if (rc != Success) { dixLookupResourceByType((pointer*) &pGlxPixmap, req->member, __glXPixmapRes, NullClient, @@ -772,7 +771,7 @@ static int MakeCurrent(__GLXclientState *cl, } if (drawId != None) { - rc = dixLookupDrawable(&pDraw, drawId, client, 0, DixWriteAccess); + rc = dixLookupDrawable(&pDraw, drawId, client, DixWriteAccess); if (rc == Success) { if (pDraw->type == DRAWABLE_WINDOW) { /* @@ -884,7 +883,7 @@ static int MakeCurrent(__GLXclientState *cl, } if (readId != None && readId != drawId ) { - rc = dixLookupDrawable(&pReadDraw, readId, client, 0, DixReadAccess); + rc = dixLookupDrawable(&pReadDraw, readId, client, DixReadAccess); if (rc == Success) { if (pReadDraw->type == DRAWABLE_WINDOW) { /* @@ -1647,10 +1646,11 @@ static int CreateGLXPixmap(__GLXclientState *cl, PanoramiXRes *pXinDraw = NULL; #endif - rc = dixLookupDrawable(&pDraw, pixmapId, client, M_DRAWABLE_PIXMAP, - DixAddAccess); + rc = dixLookupDrawable(&pDraw, pixmapId, client, DixAddAccess); if (rc != Success) return rc; + if (pDraw->type != DRAWABLE_PIXMAP) + return BadPixmap; /* ** Check if screen of visual matches screen of pixmap. @@ -1783,7 +1783,7 @@ static int CreateGLXPixmap(__GLXclientState *cl, #ifdef PANORAMIX if (pXinDraw) { - dixLookupDrawable(&pRealDraw, pXinDraw->info[s].id, client, 0, + dixLookupDrawable(&pRealDraw, pXinDraw->info[s].id, client, DixAddAccess); } #endif @@ -1956,7 +1956,7 @@ int __glXDoSwapBuffers(__GLXclientState *cl, XID drawId, GLXContextTag tag) /* ** Check that the GLX drawable is valid. */ - rc = dixLookupDrawable(&pDraw, drawId, client, 0, DixWriteAccess); + rc = dixLookupDrawable(&pDraw, drawId, client, DixWriteAccess); if (rc == Success) { from_screen = to_screen = pDraw->pScreen->myNum; @@ -2112,7 +2112,7 @@ int __glXSwapBuffers(__GLXclientState *cl, GLbyte *pc) /* ** Check that the GLX drawable is valid. */ - rc = dixLookupDrawable(&pDraw, drawId, client, 0, DixWriteAccess); + rc = dixLookupDrawable(&pDraw, drawId, client, DixWriteAccess); if (rc == Success) { if (pDraw->type != DRAWABLE_WINDOW) { /* @@ -2895,7 +2895,7 @@ int __glXCreateWindow(__GLXclientState *cl, GLbyte *pc) GLXFBConfigID fbconfigId = req->fbconfig; XID windowId = req->window; XID glxwindowId = req->glxwindow; - DrawablePtr pDraw; + WindowPtr pWin; ScreenPtr pScreen; __glXWindow *pGlxWindow; __GLXFBConfig *pGlxFBConfig = NULL; @@ -2907,15 +2907,14 @@ int __glXCreateWindow(__GLXclientState *cl, GLbyte *pc) /* ** Check if windowId is valid */ - rc = dixLookupDrawable(&pDraw, windowId, client, M_DRAWABLE_WINDOW, - DixAddAccess); + rc = dixLookupWindow(&pWin, windowId, client, DixAddAccess); if (rc != Success) return rc; /* ** Check if screen of window matches screen of fbconfig. */ - pScreen = pDraw->pScreen; + pScreen = pWin->drawable.pScreen; if (screen != pScreen->myNum) { return BadMatch; } @@ -2955,7 +2954,7 @@ int __glXCreateWindow(__GLXclientState *cl, GLbyte *pc) ** Check if color buffer depth of fbconfig matches depth ** of window. */ - if (pVisual->nplanes != pDraw->depth) { + if (pVisual->nplanes != pWin->drawable.depth) { return BadMatch; } } else @@ -2987,7 +2986,7 @@ int __glXCreateWindow(__GLXclientState *cl, GLbyte *pc) return BadAlloc; } - pGlxWindow->pDraw = pDraw; + pGlxWindow->pDraw = &pWin->drawable; pGlxWindow->type = GLX_GLXWINDOW_TYPE; pGlxWindow->idExists = True; pGlxWindow->refcnt = 0; @@ -3302,7 +3301,7 @@ int __glXGetDrawableAttributes(__GLXclientState *cl, GLbyte *pc) #endif if (drawId != None) { - rc = dixLookupDrawable(&pDraw, drawId, client, 0, DixGetAttrAccess); + rc = dixLookupDrawable(&pDraw, drawId, client, DixGetAttrAccess); if (rc == Success && pDraw->type == DRAWABLE_WINDOW) { WindowPtr pWin = (WindowPtr)pDraw; be_drawable = 0; @@ -3460,7 +3459,7 @@ int __glXChangeDrawableAttributes(__GLXclientState *cl, GLbyte *pc) DMXScreenInfo *dmxScreen; if (drawId != None) { - rc = dixLookupDrawable(&pDraw, drawId, client, 0, DixSetAttrAccess); + rc = dixLookupDrawable(&pDraw, drawId, client, DixSetAttrAccess); if (rc == Success && pDraw->type == DRAWABLE_WINDOW) { be_drawable = 0; screen = pDraw->pScreen->myNum; diff --git a/hw/kdrive/ephyr/ephyrdriext.c b/hw/kdrive/ephyr/ephyrdriext.c index 6945f5b..477c0ce 100644 --- a/hw/kdrive/ephyr/ephyrdriext.c +++ b/hw/kdrive/ephyr/ephyrdriext.c @@ -965,8 +965,7 @@ ProcXF86DRICreateDrawable (ClientPtr client) rep.length = 0; rep.sequenceNumber = client->sequence; - rc = dixLookupDrawable (&drawable, stuff->drawable, client, 0, - DixReadAccess); + rc = dixLookupDrawable(&drawable, stuff->drawable, client, DixReadAccess); if (rc != Success) return rc; if (drawable->type != DRAWABLE_WINDOW) { @@ -1024,11 +1023,7 @@ ProcXF86DRIDestroyDrawable (register ClientPtr client) return BadValue; } - rc = dixLookupDrawable(&drawable, - stuff->drawable, - client, - 0, - DixReadAccess); + rc = dixLookupDrawable(&drawable, stuff->drawable, client, DixReadAccess); if (rc != Success) return rc; if (drawable->type != DRAWABLE_WINDOW) { @@ -1076,8 +1071,7 @@ ProcXF86DRIGetDrawableInfo (register ClientPtr client) rep.length = 0; rep.sequenceNumber = client->sequence; - rc = dixLookupDrawable(&drawable, stuff->drawable, client, 0, - DixReadAccess); + rc = dixLookupDrawable(&drawable, stuff->drawable, client, DixReadAccess); if (rc != Success || !drawable) { EPHYR_LOG_ERROR ("could not get drawable\n") ; return rc; diff --git a/hw/kdrive/ephyr/ephyrglxext.c b/hw/kdrive/ephyr/ephyrglxext.c index dfc43e1..fe62fbf 100644 --- a/hw/kdrive/ephyr/ephyrglxext.c +++ b/hw/kdrive/ephyr/ephyrglxext.c @@ -522,11 +522,8 @@ ephyrGLXMakeCurrentReal (__GLXclientState *a_cl, GLbyte *a_pc, Bool a_do_swap) int rc=0; EPHYR_LOG ("enter\n") ; - rc = dixLookupDrawable (&drawable, - req->drawable, - a_cl->client, - 0, - DixReadAccess); + rc = dixLookupDrawable (&drawable, req->drawable, a_cl->client, + DixReadAccess); EPHYR_RETURN_VAL_IF_FAIL (drawable, BadValue) ; EPHYR_RETURN_VAL_IF_FAIL (drawable->pScreen, BadValue) ; EPHYR_LOG ("screen nummber requested:%d\n", diff --git a/hw/xfree86/dri/xf86dri.c b/hw/xfree86/dri/xf86dri.c index 20baa24..991363d 100644 --- a/hw/xfree86/dri/xf86dri.c +++ b/hw/xfree86/dri/xf86dri.c @@ -344,8 +344,7 @@ ProcXF86DRICreateDrawable( rep.length = 0; rep.sequenceNumber = client->sequence; - rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0, - DixReadAccess); + rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, DixReadAccess); if (rc != Success) return rc; @@ -373,8 +372,7 @@ ProcXF86DRIDestroyDrawable( return BadValue; } - rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0, - DixReadAccess); + rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, DixReadAccess); if (rc != Success) return rc; @@ -409,8 +407,7 @@ ProcXF86DRIGetDrawableInfo( rep.length = 0; rep.sequenceNumber = client->sequence; - rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0, - DixReadAccess); + rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, DixReadAccess); if (rc != Success) return rc; diff --git a/hw/xfree86/dri2/dri2ext.c b/hw/xfree86/dri2/dri2ext.c index 4e48e65..4eda498 100644 --- a/hw/xfree86/dri2/dri2ext.c +++ b/hw/xfree86/dri2/dri2ext.c @@ -55,9 +55,7 @@ static Bool validDrawable(ClientPtr client, XID drawable, Mask access_mode, DrawablePtr *pDrawable, int *status) { - *status = dixLookupDrawable(pDrawable, drawable, client, - M_DRAWABLE_WINDOW | M_DRAWABLE_PIXMAP, - access_mode); + *status = dixLookupDrawable(pDrawable, drawable, client, access_mode); if (*status != Success) { client->errorValue = drawable; return FALSE; diff --git a/hw/xquartz/xpr/appledri.c b/hw/xquartz/xpr/appledri.c index ff70a38..8819562 100644 --- a/hw/xquartz/xpr/appledri.c +++ b/hw/xquartz/xpr/appledri.c @@ -198,8 +198,7 @@ ProcAppleDRICreateSurface( rep.length = 0; rep.sequenceNumber = client->sequence; - rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0, - DixReadAccess); + rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, DixReadAccess); if (rc != Success) return rc; @@ -231,8 +230,7 @@ ProcAppleDRIDestroySurface( DrawablePtr pDrawable; REQUEST_SIZE_MATCH(xAppleDRIDestroySurfaceReq); - rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0, - DixReadAccess); + rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, DixReadAccess); if (rc != Success) return rc; @@ -258,8 +256,7 @@ ProcAppleDRICreatePixmap(ClientPtr client) REQUEST_SIZE_MATCH(xAppleDRICreatePixmapReq); - rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0, - DixReadAccess); + rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, DixReadAccess); if(rc != Success) return rc; @@ -305,8 +302,7 @@ ProcAppleDRIDestroyPixmap(ClientPtr client) REQUEST(xAppleDRIDestroyPixmapReq); REQUEST_SIZE_MATCH(xAppleDRIDestroyPixmapReq); - rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0, - DixReadAccess); + rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, DixReadAccess); if(rc != Success) return rc; diff --git a/include/dix.h b/include/dix.h index c201e3a..7409941 100644 --- a/include/dix.h +++ b/include/dix.h @@ -88,7 +88,7 @@ SOFTWARE. #define VALIDATE_DRAWABLE_AND_GC(drawID, pDraw, mode)\ {\ - int rc = dixLookupDrawable(&(pDraw), drawID, client, M_ANY, mode);\ + int rc = dixLookupDrawable(&(pDraw), drawID, client, mode);\ if (rc != Success)\ return rc;\ rc = dixLookupGC(&(pGC), stuff->gc, client, DixUseAccess);\ @@ -190,7 +190,6 @@ extern _X_EXPORT int dixLookupDrawable( DrawablePtr *result, XID id, ClientPtr client, - Mask type_mask, Mask access_mode); extern _X_EXPORT int dixLookupGC( diff --git a/include/pixmap.h b/include/pixmap.h index 014a111..b29c256 100644 --- a/include/pixmap.h +++ b/include/pixmap.h @@ -56,15 +56,6 @@ SOFTWARE. #define DRAWABLE_PIXMAP 1 #define UNDRAWABLE_WINDOW 2 -/* corresponding type masks for dixLookupDrawable() */ -#define M_DRAWABLE_WINDOW (1<<0) -#define M_DRAWABLE_PIXMAP (1<<1) -#define M_UNDRAWABLE_WINDOW (1<<2) -#define M_ANY (-1) -#define M_WINDOW (M_DRAWABLE_WINDOW|M_UNDRAWABLE_WINDOW) -#define M_DRAWABLE (M_DRAWABLE_WINDOW|M_DRAWABLE_PIXMAP) -#define M_UNDRAWABLE (M_UNDRAWABLE_WINDOW) - /* flags to PaintWindow() */ #define PW_BACKGROUND 0 #define PW_BORDER 1 diff --git a/randr/rrscreen.c b/randr/rrscreen.c index 1bc1a9e..8bb14a1 100644 --- a/randr/rrscreen.c +++ b/randr/rrscreen.c @@ -775,9 +775,11 @@ ProcRRSetScreenConfig (ClientPtr client) has_rate = FALSE; } - rc = dixLookupDrawable(&pDraw, stuff->drawable, client, 0, DixWriteAccess); - if (rc != Success) + rc = dixLookupDrawable(&pDraw, stuff->drawable, client, DixWriteAccess); + if (rc != Success) { + client->errorValue = stuff->drawable; return rc; + } pScreen = pDraw->pScreen; diff --git a/render/render.c b/render/render.c index 7029558..68197e7 100644 --- a/render/render.c +++ b/render/render.c @@ -609,7 +609,7 @@ ProcRenderCreatePicture (ClientPtr client) REQUEST_AT_LEAST_SIZE(xRenderCreatePictureReq); LEGAL_NEW_RESOURCE(stuff->pid, client); - rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0, + rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, DixReadAccess|DixAddAccess); if (rc != Success) return rc; @@ -1739,7 +1739,7 @@ ProcRenderQueryFilters (ClientPtr client) char *names; REQUEST_SIZE_MATCH(xRenderQueryFiltersReq); - rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0, + rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, DixGetAttrAccess); if (rc != Success) return rc; -- 1.7.3.5 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
