diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c diff --git a/hw/xfree86/dri/dri.c b/hw/xfree86/dri/dri.c index 9e52e61..b810439 100644 --- a/hw/xfree86/dri/dri.c +++ b/hw/xfree86/dri/dri.c @@ -118,6 +118,11 @@ DRIScreenInit(ScreenPtr pScreen, DRIInfo int drmlibmajor, drmlibminor, drmdimajor, drmdiminor; if (DRIGeneration != serverGeneration) { + for (i = 0; i < screenInfo.numScreens; i++) + { + ScreenPtr s = screenInfo.screens[i]; + s->devPrivates[DRIScreenPrivIndex].ptr = NULL; + } if ((DRIScreenPrivIndex = AllocateScreenPrivateIndex()) < 0) return FALSE; DRIGeneration = serverGeneration; diff --git a/hw/xfree86/os-support/xf86drm.h b/hw/xfree86/os-support/xf86drm.h