diff options
-rw-r--r-- | src/mesa/drivers/dri/common/dri_util.c | 6 | ||||
-rw-r--r-- | src/mesa/drivers/dri/common/dri_util.h | 4 |
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 ); /** |