summaryrefslogtreecommitdiff
path: root/menuitems.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2002-09-08 14:51:28 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2002-09-08 14:51:28 +0200
commit706a6e1beb322c2681b6252a93c3577e7d306d9c (patch)
treecd5bd88c3b1549dd7dcdba92e210e7b04d5ebc43 /menuitems.c
parentf98ef07b519bb903709e06c5e18bb8b580efe532 (diff)
downloadvdr-706a6e1beb322c2681b6252a93c3577e7d306d9c.tar.gz
vdr-706a6e1beb322c2681b6252a93c3577e7d306d9c.tar.bz2
Fixed a crash when entering an integer value outside the limits
Diffstat (limited to 'menuitems.c')
-rw-r--r--menuitems.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/menuitems.c b/menuitems.c
index 8c7848f5..97d81ad1 100644
--- a/menuitems.c
+++ b/menuitems.c
@@ -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();