summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2016-12-08 10:43:58 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2016-12-08 10:43:58 +0100
commit12308b3c29c89c077b456558507af7d77495344d (patch)
tree15efb1b03f8e0136fc9c5e012eaea0c56cb77eb2
parent85ae27e372fa1c433bd01809848cbba46e6706a6 (diff)
downloadvdr-12308b3c29c89c077b456558507af7d77495344d.tar.gz
vdr-12308b3c29c89c077b456558507af7d77495344d.tar.bz2
Fixed a crash when trying to delete a channel that is being used by a timer
-rw-r--r--HISTORY1
-rw-r--r--menu.c3
2 files changed, 3 insertions, 1 deletions
diff --git a/HISTORY b/HISTORY
index 4ae2b0e1..a06e8910 100644
--- a/HISTORY
+++ b/HISTORY
@@ -8843,3 +8843,4 @@ Video Disk Recorder Revision History
same thread. This fixes possible crashes when moving or deleting channels in
the menu or through SVDRP (as well as other operations that try to acquire a
read lock within a write lock).
+- Fixed a crash when trying to delete a channel that is being used by a timer.
diff --git a/menu.c b/menu.c
index eebad8b2..5ec32ce6 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 4.13 2015/09/16 11:02:33 kls Exp $
+ * $Id: menu.c 4.14 2016/12/08 10:39:29 kls Exp $
*/
#include "menu.h"
@@ -498,6 +498,7 @@ eOSState cMenuChannels::Delete(void)
int DeletedChannel = Channel->Number();
// Check if there is a timer using this channel:
if (Timers->UsesChannel(Channel)) {
+ channelsStateKey.Remove(false);
Skins.Message(mtError, tr("Channel is being used by a timer!"));
return osContinue;
}