summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2010-05-02 15:09:59 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2010-05-02 15:09:59 +0200
commit88dc4e335137f13cc4a3cd82c6d15a38c494e969 (patch)
treefa879a927d6c3c72f32e99a89aba57fd4b67a262
parentc19c63530e9eba17e39c14c987ee30793eb999dd (diff)
downloadvdr-88dc4e335137f13cc4a3cd82c6d15a38c494e969.tar.gz
vdr-88dc4e335137f13cc4a3cd82c6d15a38c494e969.tar.bz2
Fixed a crash when creating a new channel if the channel list is empty
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY2
-rw-r--r--channels.c3
-rw-r--r--menu.c6
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
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));