From d7e51e632dca438ccecf4bfae8050f5865b7b490 Mon Sep 17 00:00:00 2001 From: Thomas Reufer Date: Tue, 16 Feb 2016 18:51:55 +0100 Subject: proper release default surface after OSD reset --- HISTORY | 1 + ovgosd.c | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/HISTORY b/HISTORY index 55aeb76..ba51a17 100644 --- a/HISTORY +++ b/HISTORY @@ -5,6 +5,7 @@ VDR Plugin 'rpihddevice' Revision History - set device name - add option for dual display usage, see README - fixed: + - proper release default surface after OSD reset - don't ignore anti alias option for scaled bitmap drawing - ignore pts from erroneous packets to avoid pts jumps on broken streams - use omxplayer's parameters for deinterlacer diff --git a/ovgosd.c b/ovgosd.c index 1486cdf..6a155a9 100644 --- a/ovgosd.c +++ b/ovgosd.c @@ -1841,7 +1841,7 @@ protected: cEgl::errStr(eglGetError())); if (eglMakeCurrent(egl.display, egl.surface, egl.surface, - egl.context) == EGL_FALSE) + egl.context) == EGL_FALSE) ELOG("failed to connect context to surface: %s!", cEgl::errStr(eglGetError())); @@ -1881,6 +1881,11 @@ protected: } } + if (eglMakeCurrent(egl.display, EGL_NO_SURFACE, EGL_NO_SURFACE, + EGL_NO_CONTEXT) == EGL_FALSE) + ELOG("failed to release active surface from context: %s!", + cEgl::errStr(eglGetError())); + if (eglDestroySurface(egl.display, egl.surface) == EGL_FALSE) ELOG("[EGL] failed to destroy surface: %s!", cEgl::errStr(eglGetError())); -- cgit v1.2.3