--- ./src/egl/drivers/dri2/platform_drm.c.ORIGINAL 2016-01-29 07:21:30.000000000 -0500 +++ ./src/egl/drivers/dri2/platform_drm.c 2016-03-25 21:48:53.530856000 -0400 @@ -726,5 +726,7 @@ cleanup: close(fd); free(dri2_dpy); + disp->DriverData = NULL; + return EGL_FALSE; } --- ./src/egl/drivers/dri2/platform_surfaceless.c.ORIGINAL 2016-01-18 02:39:25.000000000 -0500 +++ ./src/egl/drivers/dri2/platform_surfaceless.c 2016-03-25 21:52:48.952847000 -0400 @@ -157,6 +157,7 @@ cleanup_driver: close(dri2_dpy->fd); cleanup_display: free(dri2_dpy); + disp->DriverData = NULL; return _eglError(EGL_NOT_INITIALIZED, err); } --- ./src/egl/drivers/dri2/platform_wayland.c.ORIGINAL 2016-01-29 07:21:30.000000000 -0500 +++ ./src/egl/drivers/dri2/platform_wayland.c 2016-03-25 21:53:37.537318000 -0400 @@ -1203,6 +1203,7 @@ dri2_initialize_wayland_drm(_EGLDriver * wl_event_queue_destroy(dri2_dpy->wl_queue); cleanup_dpy: free(dri2_dpy); + disp->DriverData = NULL; return EGL_FALSE; } @@ -1848,6 +1849,7 @@ dri2_initialize_wayland_swrast(_EGLDrive wl_event_queue_destroy(dri2_dpy->wl_queue); cleanup_dpy: free(dri2_dpy); + disp->DriverData = NULL; return EGL_FALSE; } --- ./src/egl/drivers/dri2/platform_x11.c.ORIGINAL 2016-01-29 07:21:30.000000000 -0500 +++ ./src/egl/drivers/dri2/platform_x11.c 2016-03-25 21:49:35.877069000 -0400 @@ -1208,6 +1208,7 @@ dri2_initialize_x11_swrast(_EGLDriver *d xcb_disconnect(dri2_dpy->conn); cleanup_dpy: free(dri2_dpy); + disp->DriverData = NULL; return EGL_FALSE; } @@ -1347,6 +1348,7 @@ dri2_initialize_x11_dri3(_EGLDriver *drv xcb_disconnect(dri2_dpy->conn); cleanup_dpy: free(dri2_dpy); + disp->DriverData = NULL; return EGL_FALSE; }