diff --git a/src/video/SDL_egl.c b/src/video/SDL_egl.c index 8fecaff14..459273509 100644 --- a/src/video/SDL_egl.c +++ b/src/video/SDL_egl.c @@ -1089,7 +1089,16 @@ SDL_EGL_MakeCurrent(_THIS, EGLSurface egl_surface, SDL_GLContext context) if (!_this->egl_data) { return SDL_SetError("OpenGL not initialized"); } - + + if (!_this->egl_data->eglMakeCurrent) { + if (!egl_surface && !context) { + /* Can't do the nothing there is to do? Probably trying to cleanup a failed startup, just return. */ + return 0; + } else { + return SDL_SetError("OpenGL not initialized"); /* something clearly went wrong somewhere. */ + } + } + /* The android emulator crashes badly if you try to eglMakeCurrent * with a valid context and invalid surface, so we have to check for both here. */ @@ -1101,7 +1110,7 @@ SDL_EGL_MakeCurrent(_THIS, EGLSurface egl_surface, SDL_GLContext context) return SDL_EGL_SetError("Unable to make EGL context current", "eglMakeCurrent"); } } - + return 0; }