From 1f876171067c04fc21fccd5a3051f982fd85c0f0 Mon Sep 17 00:00:00 2001 From: marha Date: Wed, 21 Oct 2009 19:07:36 +0000 Subject: Updated to xorg-server-1.7.99.1 --- xorg-server/hw/xfree86/dri/dri.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'xorg-server/hw/xfree86/dri/dri.c') diff --git a/xorg-server/hw/xfree86/dri/dri.c b/xorg-server/hw/xfree86/dri/dri.c index faddfe6ec..0de9be621 100644 --- a/xorg-server/hw/xfree86/dri/dri.c +++ b/xorg-server/hw/xfree86/dri/dri.c @@ -1277,7 +1277,7 @@ DRICreateDrawable(ScreenPtr pScreen, ClientPtr client, DrawablePtr pDrawable, /* track this in case the client dies */ AddResource(FakeClientID(client->index), DRIDrawablePrivResType, - (pointer)pDrawable->id); + (pointer)(intptr_t)pDrawable->id); if (pDRIDrawablePriv->hwDrawable) { drmUpdateDrawableInfo(pDRIPriv->drmFD, @@ -1348,7 +1348,7 @@ DRIDestroyDrawable(ScreenPtr pScreen, ClientPtr client, DrawablePtr pDrawable) if (pDrawable->type == DRAWABLE_WINDOW) { LookupClientResourceComplex(client, DRIDrawablePrivResType, DRIDestroyDrawableCB, - (pointer)pDrawable->id); + (pointer)(intptr_t)pDrawable->id); } else { /* pixmap (or for GLX 1.3, a PBuffer) */ /* NOT_DONE */ @@ -1364,7 +1364,9 @@ DRIDrawablePrivDelete(pointer pResource, XID id) WindowPtr pWin; int rc; - id = (XID)pResource; + /* For DRIDrawablePrivResType, the XID is the client's fake ID. The + * important XID is the value in pResource. */ + id = (XID)(intptr_t)pResource; rc = dixLookupWindow(&pWin, id, serverClient, DixGetAttrAccess); if (rc == Success) { -- cgit v1.2.3