diff options
| author | Thomas Reufer <thomas@reufer.ch> | 2015-04-01 21:18:08 +0200 |
|---|---|---|
| committer | Thomas Reufer <thomas@reufer.ch> | 2015-04-01 21:18:08 +0200 |
| commit | 658b45ee218ab1ea143632f0f00a494b85590af1 (patch) | |
| tree | 825968ab304830881e8413a966efc948a72da6a7 | |
| parent | 8c471e11a241ce2e05a9bf7caae338bd4c7a77a8 (diff) | |
| download | vdr-plugin-rpihddevice-658b45ee218ab1ea143632f0f00a494b85590af1.tar.gz vdr-plugin-rpihddevice-658b45ee218ab1ea143632f0f00a494b85590af1.tar.bz2 | |
activate default surface before deleting pixel buffer
| -rw-r--r-- | ovgosd.c | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -655,6 +655,19 @@ public: virtual ~cOvgRenderTarget() { } + static bool MakeDefault(cEgl *egl) + { + if (eglMakeCurrent(egl->display, egl->surface, egl->surface, + egl->context) == EGL_FALSE) + { + ELOG("[EGL] failed to connect context to surface: %s!", + cEgl::errStr(eglGetError())); + return false; + } + egl->currentSurface = egl->surface; + return true; + } + virtual bool MakeCurrent(cEgl *egl) { // if this is a window surface, check for an update after OSD reset @@ -812,6 +825,9 @@ public: virtual bool Execute(cEgl *egl) { + if (!cOvgRenderTarget::MakeDefault(egl)) + return false; + // only destroy pixel buffer surfaces if (m_target->image != VG_INVALID_HANDLE) { |
