Fixed a crash when learning the keys of several remote controls

This commit is contained in:
Klaus Schmidinger 2002-10-27 16:02:27 +01:00
parent 9f713366dd
commit 8c18d579ef
3 changed files with 12 additions and 7 deletions

View File

@ -424,6 +424,8 @@ Oliver Endriss <o.endriss@gmx.de>
for adding some satellites to 'sources.conf' for adding some satellites to 'sources.conf'
for reporting a bug in learning remote control keys in case there is more than for reporting a bug in learning remote control keys in case there is more than
one remote control one remote control
for reporting a crash when learning the keys of several remote controls and
pressing buttons of those that have already been learned
Reinhard Walter Buchner <rw.buchner@freenet.de> Reinhard Walter Buchner <rw.buchner@freenet.de>
for adding some satellites to 'sources.conf' for adding some satellites to 'sources.conf'

View File

@ -1667,3 +1667,6 @@ Video Disk Recorder Revision History
the color buttons in normal viewing mode, as well as to up to 9 user defined the color buttons in normal viewing mode, as well as to up to 9 user defined
keys. See MANUAL and man vdr(5) for more information. The default 'keymacros.conf' keys. See MANUAL and man vdr(5) for more information. The default 'keymacros.conf'
implements the functionality of the "color button patch". implements the functionality of the "color button patch".
- Fixed a crash when learning the keys of several remote controls and pressing
buttons of those that have already been learned (thanks to Oliver Endriss for
reporting this one).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: interface.c 1.58 2002/10/26 12:22:18 kls Exp $ * $Id: interface.c 1.59 2002/10/27 15:54:05 kls Exp $
*/ */
#include "interface.h" #include "interface.h"
@ -352,7 +352,7 @@ void cInterface::QueryKeys(cRemote *Remote)
char *NewCode = NULL; char *NewCode = NULL;
eKeys Key = cRemote::Get(100, &NewCode); eKeys Key = cRemote::Get(100, &NewCode);
switch (Key) { switch (Key) {
case kUp: { case kUp: if (NewKey > kUp) {
NewKey = eKeys(NewKey - 1); NewKey = eKeys(NewKey - 1);
cKey *last = Keys.Last(); cKey *last = Keys.Last();
if (last && last->Key() == NewKey) if (last && last->Key() == NewKey)