From 9e55ace81804c92102f0ff4ee364d2c04338cff8 Mon Sep 17 00:00:00 2001 From: Gabriel Jacobo Date: Mon, 16 Jun 2014 09:47:23 -0300 Subject: [PATCH] Fixes #2583, clean up EGL initialization --- src/video/SDL_egl.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/video/SDL_egl.c b/src/video/SDL_egl.c index 7f90cdbd18114..0185f66aa2019 100644 --- a/src/video/SDL_egl.c +++ b/src/video/SDL_egl.c @@ -189,7 +189,7 @@ SDL_EGL_LoadLibrary(_THIS, const char *egl_path, NativeDisplayType native_displa dll_handle = SDL_LoadObject(egl_path); } /* Try loading a EGL symbol, if it does not work try the default library paths */ - if (SDL_LoadFunction(dll_handle, "eglChooseConfig") == NULL) { + if (dll_handle == NULL || SDL_LoadFunction(dll_handle, "eglChooseConfig") == NULL) { if (dll_handle != NULL) { SDL_UnloadObject(dll_handle); } @@ -198,7 +198,10 @@ SDL_EGL_LoadLibrary(_THIS, const char *egl_path, NativeDisplayType native_displa path = DEFAULT_EGL; } dll_handle = SDL_LoadObject(path); - if (dll_handle == NULL) { + if (dll_handle == NULL || SDL_LoadFunction(dll_handle, "eglChooseConfig") == NULL) { + if (dll_handle != NULL) { + SDL_UnloadObject(dll_handle); + } return SDL_SetError("Could not load EGL library"); } SDL_ClearError(); @@ -235,8 +238,6 @@ SDL_EGL_LoadLibrary(_THIS, const char *egl_path, NativeDisplayType native_displa } #endif - _this->egl_data->dll_handle = dll_handle; - _this->egl_data->egl_dll_handle = egl_dll_handle; _this->gl_config.driver_loaded = 1; if (path) {