summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2004-06-01 19:20:12 +0000
committerIan Romanick <[email protected]>2004-06-01 19:20:12 +0000
commitec032cb17b2ffb7b9401604258234998612b445f (patch)
treedca0536f182181e30d9a62cb753ebeeb707484ed
parent0521ab46c1340d785ecfe64f4041c86912bc86af (diff)
Fix a couple issues related to GetDrawableInfo. In the new DRI
interface, it must be available from libGL, and the the typedef in dri_util.h was wrong.
-rw-r--r--src/mesa/drivers/dri/common/dri_util.c6
-rw-r--r--src/mesa/drivers/dri/common/dri_util.h4
2 files changed, 8 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/common/dri_util.c b/src/mesa/drivers/dri/common/dri_util.c
index 9a8d247e592..13101755b3e 100644
--- a/src/mesa/drivers/dri/common/dri_util.c
+++ b/src/mesa/drivers/dri/common/dri_util.c
@@ -826,7 +826,13 @@ static void *driCreateNewDrawable(Display *dpy,
pdp->getInfo = (GetDrawableInfo *)
glXGetProcAddress( (const GLubyte *) "__glXGetDrawableInfo" );
if ( pdp->getInfo == NULL ) {
+#ifdef DRI_NEW_INTERFACE_ONLY
+ (void)XF86DRIDestroyDrawable(dpy, modes->screen, pdp->draw);
+ Xfree(pdp);
+ return NULL;
+#else
pdp->getInfo = XF86DRIGetDrawableInfo;
+#endif /* DRI_NEW_INTERFACE_ONLY */
}
if (!(*psp->DriverAPI.CreateBuffer)(psp, pdp, modes,
diff --git a/src/mesa/drivers/dri/common/dri_util.h b/src/mesa/drivers/dri/common/dri_util.h
index 627a58562a5..17f26d1a210 100644
--- a/src/mesa/drivers/dri/common/dri_util.h
+++ b/src/mesa/drivers/dri/common/dri_util.h
@@ -257,9 +257,9 @@ struct __DRIswapInfoRec {
typedef Bool (GetDrawableInfo)( Display *dpy, int scrn, __DRIid draw,
unsigned int * index, unsigned int * stamp,
int * x, int * y, int * width, int * height,
- int * numClipRects, drm_clip_rect_t * pClipRects,
+ int * numClipRects, drm_clip_rect_t ** pClipRects,
int * backX, int * backY,
- int * numBackClipRects, drm_clip_rect_t * pBackClipRects );
+ int * numBackClipRects, drm_clip_rect_t ** pBackClipRects );
/**