diff options
| -rw-r--r-- | CONTRIBUTORS | 1 | ||||
| -rw-r--r-- | HISTORY | 2 | ||||
| -rw-r--r-- | channels.c | 3 | ||||
| -rw-r--r-- | menu.c | 6 | 
4 files changed, 8 insertions, 4 deletions
| diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 7dafbca4..9c7859ac 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -2397,6 +2397,7 @@ Halim Sahin <halim.sahin@t-online.de>   channel in the channel list   for suggesting to make the "Source" item in the "Edit channel" menu wrap around the   list of sources + for reporting a crash when creating a new channel if the channel list is empty  Denis Knauf <denis.knauf@gmail.com>   for reporting a missing '-' at the next to last line of SVDRP help texts @@ -6448,3 +6448,5 @@ Video Disk Recorder Revision History    Thanks to Derek Kelly for testing this.  - Updated the Ukrainian OSD texts (thanks to Yarema Aka Knedlyk).  - Fixed handling "none" color entries in XPM files (thanks to Thomas Günther). +- Fixed a crash when creating a new channel if the channel list is empty (reported +  by Halim Sahin). @@ -4,7 +4,7 @@   * See the main source file 'vdr.c' for copyright information and   * how to reach the author.   * - * $Id: channels.c 2.13 2010/02/21 13:36:04 kls Exp $ + * $Id: channels.c 2.14 2010/05/02 15:07:38 kls Exp $   */  #include "channels.h" @@ -61,6 +61,7 @@ cChannel::cChannel(void)    provider = strdup("");    portalName = strdup("");    memset(&__BeginData__, 0, (char *)&__EndData__ - (char *)&__BeginData__); +  parameters = "";    modification = CHANNELMOD_NONE;    schedule     = NULL;    linkChannels = NULL; @@ -4,7 +4,7 @@   * See the main source file 'vdr.c' for copyright information and   * how to reach the author.   * - * $Id: menu.c 2.21 2010/03/12 16:03:07 kls Exp $ + * $Id: menu.c 2.22 2010/05/02 14:28:26 kls Exp $   */  #include "menu.h" @@ -212,14 +212,15 @@ cMenuEditChannel::cMenuEditChannel(cChannel *Channel, bool New)    sourceParam = NULL;    if (channel) {       data = *channel; +     strn0cpy(name, data.name, sizeof(name));       if (New) {          channel = NULL;          data.nid = 0;          data.tid = 0;          data.rid = 0;          } -     Setup();       } +  Setup();  }  void cMenuEditChannel::Setup(void) @@ -229,7 +230,6 @@ void cMenuEditChannel::Setup(void)    Clear();    // Parameters for all types of sources: -  strn0cpy(name, data.name, sizeof(name));    Add(new cMenuEditStrItem( tr("Name"),          name, sizeof(name)));    Add(new cMenuEditSrcItem( tr("Source"),       &data.source));    Add(new cMenuEditIntItem( tr("Frequency"),    &data.frequency)); | 
