Fixed a crash when entering an integer value outside the limits

This commit is contained in:
Klaus Schmidinger 2002-09-08 14:51:28 +02:00
parent f98ef07b51
commit 706a6e1beb
3 changed files with 9 additions and 3 deletions

View File

@ -145,6 +145,7 @@ Stefan Huelswitt <huels@iname.com>
option can't be accessed
for implementing several replay modes to allow players that play only audio
for improving cCondVar::Wait() and implementing cCondVar::TimedWait()
for reporting a bug when entering an integer value outside the limit
Ulrich Röder <roeder@efr-net.de>
for pointing out that there are channels that have a symbol rate higher than

View File

@ -1456,3 +1456,5 @@ Video Disk Recorder Revision History
that are currently not available (for instance because all devices are
recording and these channels are on different transponders).
- Implemented an SPU decoder (thanks to Andreas Schultz).
- Fixed a crash when entering an integer value outside the limits (thanks to
Stefan Huelswitt 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: menuitems.c 1.8 2002/08/15 11:27:57 kls Exp $
* $Id: menuitems.c 1.9 2002/09/08 14:51:28 kls Exp $
*/
#include "menuitems.h"
@ -68,7 +68,7 @@ eOSState cMenuEditIntItem::ProcessKey(eKeys Key)
*value = 0;
fresh = false;
}
newValue = *value * 10 + (Key - k0);
newValue = *value * 10 + (Key - k0);
}
else if (NORMALKEY(Key) == kLeft) { // TODO might want to increase the delta if repeated quickly?
newValue = *value - 1;
@ -78,8 +78,11 @@ eOSState cMenuEditIntItem::ProcessKey(eKeys Key)
newValue = *value + 1;
fresh = true;
}
else
else {
if (*value < min) { *value = min; Set(); }
if (*value > max) { *value = max; Set(); }
return state;
}
if ((!fresh || min <= newValue) && newValue <= max) {
*value = newValue;
Set();