summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY1
-rw-r--r--ovgosd.c7
2 files changed, 7 insertions, 1 deletions
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()));