diff options
-rw-r--r-- | CONTRIBUTORS | 1 | ||||
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | remote.c | 3 |
3 files changed, 5 insertions, 1 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 83468671..d596ec06 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1831,6 +1831,7 @@ Petri Hintukainen <Petri.Hintukainen@hut.fi> in a key macro for pointing out that keys from expanded key macros should be put into the front of the key queue to avoid problems if the queue is not empty at that time + for making cRemote::PutMacro() set a lock while it expands the macro Marcel Schaeben <mts280@gmx.de> for his "Easy Input" patch @@ -4964,3 +4964,5 @@ Video Disk Recorder Revision History avoid problems if the queue is not empty at that time (based on a patch from Petri Hintukainen). - cKeyMacro now has an explicit counter for the number of keys it contains. +- cRemote::PutMacro() now sets a lock while it expands the macro (thanks to + Petri Hintukainen). @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: remote.c 1.52 2006/10/14 10:24:13 kls Exp $ + * $Id: remote.c 1.53 2006/10/14 10:44:02 kls Exp $ */ #include "remote.h" @@ -106,6 +106,7 @@ bool cRemote::PutMacro(eKeys Key) const cKeyMacro *km = KeyMacros.Get(Key); if (km) { plugin = km->Plugin(); + cMutexLock MutexLock(&mutex); for (int i = km->NumKeys(); --i > 0; ) { if (!Put(km->Macro()[i], true)) return false; |