summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY2
-rw-r--r--remote.c3
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
diff --git a/HISTORY b/HISTORY
index 32606cda..c5418d8a 100644
--- a/HISTORY
+++ b/HISTORY
@@ -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).
diff --git a/remote.c b/remote.c
index 06b3bb1c..6f63fcd9 100644
--- a/remote.c
+++ b/remote.c
@@ -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;