X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/ae3bc8673d79edecb8fcb918d83db011535b0955..dea2fe0418b7e3761ff8f7a1f59e4066b3ed2cc8:/lib/gdi/grc.cpp diff --git a/lib/gdi/grc.cpp b/lib/gdi/grc.cpp index ef75aace..736630a8 100644 --- a/lib/gdi/grc.cpp +++ b/lib/gdi/grc.cpp @@ -63,6 +63,7 @@ void gRC::submit(const gOpcode &o) if ( tmp == rp ) { #ifndef SYNC_PAINT + pthread_cond_signal(&cond); // wakeup gdi thread pthread_mutex_unlock(&mutex); #else thread(); @@ -115,7 +116,11 @@ void *gRC::thread() else if (o.opcode==gOpcode::notify) need_notify = 1; else + { o.dc->exec(&o); + // o.dc is a gDC* filled with grabref... so we must release it here + o.dc->Release(); + } } else {