aboutsummaryrefslogtreecommitdiffstats
path: root/src/egl/drivers/dri2/egl_dri2.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/egl/drivers/dri2/egl_dri2.c')
-rw-r--r--src/egl/drivers/dri2/egl_dri2.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
index 0e065acd763..cdaf3a75029 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -822,9 +822,11 @@ dri2_load_driver_common(_EGLDisplay *disp,
if (!extensions)
return EGL_FALSE;
- if (!dri2_bind_extensions(dri2_dpy, driver_extensions, extensions, false))
+ if (!dri2_bind_extensions(dri2_dpy, driver_extensions, extensions, false)) {
+ dlclose(dri2_dpy->driver);
+ dri2_dpy->driver = NULL;
return EGL_FALSE;
-
+ }
dri2_dpy->driver_extensions = extensions;
dri2_bind_extensions(dri2_dpy, optional_driver_extensions, extensions, true);