diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 7dafbca4..9c7859ac 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -2397,6 +2397,7 @@ Halim Sahin 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 for reporting a missing '-' at the next to last line of SVDRP help texts diff --git a/HISTORY b/HISTORY index 51d757c2..4504f30f 100644 --- a/HISTORY +++ b/HISTORY @@ -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). diff --git a/channels.c b/channels.c index a694d54a..58a42562 100644 --- a/channels.c +++ b/channels.c @@ -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; diff --git a/menu.c b/menu.c index e3b49cee..9ace1f69 100644 --- a/menu.c +++ b/menu.c @@ -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));