From 129b9ad16f95421d12f77c1bd3eca915d8768b78 Mon Sep 17 00:00:00 2001 From: Kristian Høgsberg Date: Mon, 25 Feb 2008 20:02:25 -0500 Subject: Use dlsym() to avoid referencing __dri2DriverInitScreen. Sort-of a stop-gap workaround. There are a couple of nicer ways to do this that doesn't require dlfcn.h, but they're more invasive. --- src/mesa/drivers/dri/common/dri_util.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/mesa/drivers/dri/common') diff --git a/src/mesa/drivers/dri/common/dri_util.c b/src/mesa/drivers/dri/common/dri_util.c index 9928a0f031..ce8ae5e299 100644 --- a/src/mesa/drivers/dri/common/dri_util.c +++ b/src/mesa/drivers/dri/common/dri_util.c @@ -883,6 +883,11 @@ __DRI2_CREATE_NEW_SCREEN(int scrn, __DRIscreen *psc, static const __DRIextension *emptyExtensionList[] = { NULL }; dri_interface = interface; unsigned int *p; + __GLcontextModes *(*initScreen)(__DRIscreen *psc); + + initScreen = dlsym(NULL, __dri2DriverInitScreen); + if (initScreen == NULL) + return NULL; psp = _mesa_malloc(sizeof(*psp)); if (!psp) @@ -931,7 +936,7 @@ __DRI2_CREATE_NEW_SCREEN(int scrn, __DRIscreen *psc, psc->createNewDrawable = driCreateNewDrawable; psc->createNewContext = driCreateNewContext; - *driver_modes = __dri2DriverInitScreen(psp); + *driver_modes = initScreen(psp); if (*driver_modes == NULL) { drmBOUnmap(psp->fd, &psp->dri2.sareaBO); drmBOUnreference(psp->fd, &psp->dri2.sareaBO); -- cgit v1.2.3