diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/egl/main/egldisplay.c | 10 | ||||
| -rw-r--r-- | src/egl/main/egldisplay.h | 9 | 
2 files changed, 12 insertions, 7 deletions
| diff --git a/src/egl/main/egldisplay.c b/src/egl/main/egldisplay.c index 30a49a25ae..9b4227f545 100644 --- a/src/egl/main/egldisplay.c +++ b/src/egl/main/egldisplay.c @@ -305,9 +305,10 @@ _eglCheckDisplayHandle(EGLDisplay dpy)  EGLBoolean  _eglCheckContextHandle(EGLContext ctx, _EGLDisplay *dpy)  { -   _EGLContext *cur; +   _EGLContext *cur = NULL; -   cur = dpy->ContextList; +   if (dpy) +      cur = dpy->ContextList;     while (cur) {        if (cur == (_EGLContext *) ctx) {           assert(cur->Display == dpy); @@ -325,9 +326,10 @@ _eglCheckContextHandle(EGLContext ctx, _EGLDisplay *dpy)  EGLBoolean  _eglCheckSurfaceHandle(EGLSurface surf, _EGLDisplay *dpy)  { -   _EGLSurface *cur; +   _EGLSurface *cur = NULL; -   cur = dpy->SurfaceList; +   if (dpy) +      cur = dpy->SurfaceList;     while (cur) {        if (cur == (_EGLSurface *) surf) {           assert(cur->Display == dpy); diff --git a/src/egl/main/egldisplay.h b/src/egl/main/egldisplay.h index 6394c9cedb..20651e51ff 100644 --- a/src/egl/main/egldisplay.h +++ b/src/egl/main/egldisplay.h @@ -125,14 +125,17 @@ _eglCheckSurfaceHandle(EGLSurface surf, _EGLDisplay *dpy);  /* Only do a quick check.  This is NOT standard compliant. */  static INLINE EGLBoolean -_eglCheckDisplayHandle(EGLDisplay dpy) { return EGL_TRUE; } +_eglCheckDisplayHandle(EGLDisplay dpy) +{ +   return ((_EGLDisplay *) dpy != NULL); +}  static INLINE EGLBoolean  _eglCheckContextHandle(EGLContext ctx, _EGLDisplay *dpy)  {     _EGLContext *c = (_EGLContext *) ctx; -   return (c && c->Display == dpy); +   return (dpy && c && c->Display == dpy);  } @@ -140,7 +143,7 @@ static INLINE EGLBoolean  _eglCheckSurfaceHandle(EGLSurface surf, _EGLDisplay *dpy)  {     _EGLSurface *s = (_EGLSurface *) surf; -   return (s && s->Display == dpy); +   return (dpy && s && s->Display == dpy);  } | 
