diff --git a/src/core/LockSurface.cpp b/src/core/LockSurface.cpp index 9df9d18..e099000 100644 --- a/src/core/LockSurface.cpp +++ b/src/core/LockSurface.cpp @@ -152,7 +152,11 @@ void CSessionLockSurface::render() { onCallback(); }); - eglSwapBuffers(g_pEGL->eglDisplay, eglSurface); + if (eglSwapBuffers(g_pEGL->eglDisplay, eglSurface) != EGL_TRUE) { + frameCallback.reset(); + needsFrame = true; + return; + } needsFrame = FEEDBACK.needsFrame || g_pAnimationManager->shouldTickForNext(); }