diff options
Diffstat (limited to 'opengl/libs/EGL/egl.cpp')
-rw-r--r-- | opengl/libs/EGL/egl.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/opengl/libs/EGL/egl.cpp b/opengl/libs/EGL/egl.cpp index 1e43195..6ad06af 100644 --- a/opengl/libs/EGL/egl.cpp +++ b/opengl/libs/EGL/egl.cpp @@ -212,16 +212,20 @@ egl_connection_t* validate_display_config(EGLDisplay dpy, EGLConfig config, EGLImageKHR egl_get_image_for_current_context(EGLImageKHR image) { - ImageRef _i(image); - if (!_i.get()) - return EGL_NO_IMAGE_KHR; - EGLContext context = egl_tls_t::getContext(); if (context == EGL_NO_CONTEXT || image == EGL_NO_IMAGE_KHR) return EGL_NO_IMAGE_KHR; egl_context_t const * const c = get_context(context); - if (c == NULL) // this should never happen + if (c == NULL) // this should never happen, by construction + return EGL_NO_IMAGE_KHR; + + egl_display_t* display = egl_display_t::get(c->dpy); + if (display == NULL) // this should never happen, by construction + return EGL_NO_IMAGE_KHR; + + ImageRef _i(display, image); + if (!_i.get()) return EGL_NO_IMAGE_KHR; // here we don't validate the context because if it's been marked for |