EGLBoolean EGLAPIENTRY DestroySurface(EGLDisplay dpy, EGLSurface surface) { EVENT("(EGLDisplay dpy = 0x%0.8p, EGLSurface surface = 0x%0.8p)", dpy, surface); Display *display = static_cast<Display*>(dpy); Surface *eglSurface = static_cast<Surface*>(surface); Error error = ValidateSurface(display, eglSurface); if (error.isError()) { SetGlobalError(error); return EGL_FALSE; } if (surface == EGL_NO_SURFACE) { SetGlobalError(Error(EGL_BAD_SURFACE)); return EGL_FALSE; } display->destroySurface((Surface*)surface); SetGlobalError(Error(EGL_SUCCESS)); return EGL_TRUE; }
EGLBoolean EGLAPIENTRY DestroySurface(EGLDisplay dpy, EGLSurface surface) { EVENT("(EGLDisplay dpy = 0x%0.8p, EGLSurface surface = 0x%0.8p)", dpy, surface); Thread *thread = GetCurrentThread(); Display *display = static_cast<Display *>(dpy); Surface *eglSurface = static_cast<Surface *>(surface); Error error = ValidateSurface(display, eglSurface); if (error.isError()) { thread->setError(error); return EGL_FALSE; } if (surface == EGL_NO_SURFACE) { thread->setError(EglBadSurface()); return EGL_FALSE; } error = display->destroySurface(reinterpret_cast<Surface *>(surface)); if (error.isError()) { thread->setError(error); return EGL_FALSE; } thread->setError(NoError()); return EGL_TRUE; }