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 reporting a bug in learning remote control keys in case there is more than
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>
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
keys. See MANUAL and man vdr(5) for more information. The default 'keymacros.conf'
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
* 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"
@ -352,12 +352,12 @@ void cInterface::QueryKeys(cRemote *Remote)
char *NewCode = NULL;
eKeys Key = cRemote::Get(100, &NewCode);
switch (Key) {
case kUp: {
NewKey = eKeys(NewKey - 1);
cKey *last = Keys.Last();
if (last && last->Key() == NewKey)
Keys.Del(last);
}
case kUp: if (NewKey > kUp) {
NewKey = eKeys(NewKey - 1);
cKey *last = Keys.Last();
if (last && last->Key() == NewKey)
Keys.Del(last);
}
break;
case kDown: WriteText(1, 5, tr("Press 'Up' to confirm"));
WriteText(1, 6, tr("Press 'Down' to continue"));