From 42a80413525ac415d7552e899796b2a30707b88e Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 13 Oct 2007 10:41:37 +0200 Subject: [PATCH] Fixed a crash when pressing Left while at the first character of a cMenuEditStrItem --- CONTRIBUTORS | 2 ++ HISTORY | 2 ++ menuitems.c | 6 +++--- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 726aed9c..86c13521 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1885,6 +1885,8 @@ Christian Wieninger for reporting a problem with the device selection in case of timer conflicts for a patch that fixed part of a crash in i18n character set conversion for reporting a bug in stripping the context in I18nTranslate() + for fixing a crash when pressing Left while at the first character of a + cMenuEditStrItem Thiemo Gehrke for suggesting to add a setup option to turn off the automatic timeout of the diff --git a/HISTORY b/HISTORY index 4100e7ae..c788e766 100644 --- a/HISTORY +++ b/HISTORY @@ -5455,3 +5455,5 @@ Video Disk Recorder Revision History Denis Knauf). - Added a missing SetVolumeDevice() call in cDevice::SetPrimaryDevice() (reported by Reinhard Nissl). +- Fixed a crash when pressing Left while at the first character of a cMenuEditStrItem + (thanks to Christian Wieninger). diff --git a/menuitems.c b/menuitems.c index a900e4a8..bcfef6ea 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.51 2007/08/17 13:48:07 kls Exp $ + * $Id: menuitems.c 1.52 2007/10/13 10:39:40 kls Exp $ */ #include "menuitems.h" @@ -499,9 +499,9 @@ eOSState cMenuEditStrItem::ProcessKey(eKeys Key) if (!insert || newchar) pos--; newchar = true; + if (!insert && Utf8is(alpha, valueUtf8[pos])) + uppercase = Utf8is(upper, valueUtf8[pos]); } - if (!insert && Utf8is(alpha, valueUtf8[pos])) - uppercase = Utf8is(upper, valueUtf8[pos]); break; case kRight|k_Repeat: case kRight: if (InEditMode())