diff options
author | Shannon Woods <shannonwoods@chromium.org> | 2013-07-24 18:45:24 -0400 |
---|---|---|
committer | Shannon Woods <shannonwoods@chromium.org> | 2013-07-24 19:07:20 -0400 |
commit | ba6944849acb31e9db7e1f157cdbaf3a249512ee (patch) | |
tree | 9dc7e8aab572e63aa438027946ab4c195422d0cd | |
parent | 2ccad0643a7684427aaf42258e7bfc47ffb09f4b (diff) | |
download | angle_dx11-ba6944849acb31e9db7e1f157cdbaf3a249512ee.tar.gz |
Fixes handling in eglMakeCurrent to allow for null displays.
TRAC #23577
On behalf of callow.mark@artspark.co.jp
Landed-by: Shannon Woods
Signed-off-by: Jamie Madill
Signed-off-by: Geoff Lang
-rw-r--r-- | src/libEGL/libEGL.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/libEGL/libEGL.cpp b/src/libEGL/libEGL.cpp index bcba43f6..6e10c392 100644 --- a/src/libEGL/libEGL.cpp +++ b/src/libEGL/libEGL.cpp @@ -888,15 +888,18 @@ EGLBoolean __stdcall eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface return EGL_FALSE; } - rx::Renderer *renderer = display->getRenderer(); - if (renderer->testDeviceLost(true)) + if (dpy != EGL_NO_DISPLAY) { - return EGL_FALSE; - } + rx::Renderer *renderer = display->getRenderer(); + if (renderer->testDeviceLost(true)) + { + return EGL_FALSE; + } - if (renderer->isDeviceLost()) - { - return egl::error(EGL_CONTEXT_LOST, EGL_FALSE); + if (renderer->isDeviceLost()) + { + return egl::error(EGL_CONTEXT_LOST, EGL_FALSE); + } } if ((draw != EGL_NO_SURFACE && !validateSurface(display, static_cast<egl::Surface*>(draw))) || |