summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2002-10-12 15:22:29 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2002-10-12 15:22:29 +0200
commitfadc2565d468afca10448600033b73af1ef74978 (patch)
tree3dfac29cb3b96acaf4a01f32dd6fec493000ad24
parentec5795bda2aae521c81e101ec109b8bc74e3e19d (diff)
downloadvdr-fadc2565d468afca10448600033b73af1ef74978.tar.gz
vdr-fadc2565d468afca10448600033b73af1ef74978.tar.bz2
Fixed a crash when closing down with remote control plugins
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY2
-rw-r--r--remote.c5
-rw-r--r--vdr.c5
4 files changed, 8 insertions, 5 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index a24ade4c..d31bb8a0 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -415,6 +415,7 @@ Oliver Endriss <o.endriss@gmx.de>
for helping to test and debug the new channel source and DiSEqC handling
for reporting a bug when pressing the "Blue" button in the main menu without
having displayed it
+ for helping to debug a crash when closing down with remote control plugins
Reinhard Walter Buchner <rw.buchner@freenet.de>
for adding some satellites to 'sources.conf'
diff --git a/HISTORY b/HISTORY
index 957d30e5..71872b43 100644
--- a/HISTORY
+++ b/HISTORY
@@ -1597,3 +1597,5 @@ Video Disk Recorder Revision History
- Fixed switching the video format in the Setup/DVB menu (thanks to Uwe Scheffler
for reporting this one).
- Reactivated full handling of second audio PID (even in 'Transfer Mode').
+- Fixed a crash when closing down with remote control plugins (thanks to Oliver
+ Endriss helping to debug this one).
diff --git a/remote.c b/remote.c
index ffdfa18a..05ce6063 100644
--- a/remote.c
+++ b/remote.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: remote.c 1.28 2002/09/29 12:51:26 kls Exp $
+ * $Id: remote.c 1.29 2002/10/12 15:22:08 kls Exp $
*/
#include "remote.h"
@@ -34,8 +34,7 @@ cCondVar cRemote::keyPressed;
cRemote::cRemote(const char *Name)
{
- if (Name)
- name = strdup(Name);
+ name = Name ? strdup(Name) : NULL;
Remotes.Add(this);
}
diff --git a/vdr.c b/vdr.c
index 7e22477b..c1e0c11a 100644
--- a/vdr.c
+++ b/vdr.c
@@ -22,7 +22,7 @@
*
* The project's page is at http://www.cadsoft.de/people/kls/vdr
*
- * $Id: vdr.c 1.125 2002/10/06 10:25:04 kls Exp $
+ * $Id: vdr.c 1.126 2002/10/12 15:22:29 kls Exp $
*/
#include <getopt.h>
@@ -634,11 +634,12 @@ int main(int argc, char *argv[])
cControl::Shutdown();
delete Interface;
cOsd::Shutdown();
- PluginManager.Shutdown(true);
+ Remotes.Clear();
Setup.CurrentChannel = cDevice::CurrentChannel();
Setup.CurrentVolume = cDevice::CurrentVolume();
Setup.Save();
cDevice::Shutdown();
+ PluginManager.Shutdown(true);
if (WatchdogTimeout > 0)
dsyslog("max. latency time %d seconds", MaxLatencyTime);
isyslog("exiting");