Index: softdevice.c
===================================================================
RCS file: /cvsroot/softdevice/softdevice/softdevice.c,v
retrieving revision 1.76
diff -p -u -r1.76 softdevice.c
--- softdevice.c	3 Dec 2006 20:38:18 -0000	1.76
+++ softdevice.c	22 Jan 2007 21:06:00 -0000
@@ -15,6 +15,7 @@
 
 #include <vdr/osd.h>
 #include <vdr/dvbspu.h>
+#include <vdr/shutdown.h>
 
 #include <sys/mman.h>
 #include <sys/ioctl.h>
@@ -1084,6 +1085,11 @@ bool cPluginSoftDevice::SetupParse(const
 {
   // Parse your own setup parameters and store their values.
   return setupStore.SetupParse(Name, Value);
+}
+
+void cPluginSoftDevice::MainThreadHook(void)
+{
+  setupStore.shouldSuspend = Shutdown.IsUserInactive();
 }
 
 VDRPLUGINCREATOR(cPluginSoftDevice); // Don't touch this!
Index: softdevice.h
===================================================================
RCS file: /cvsroot/softdevice/softdevice/softdevice.h,v
retrieving revision 1.13
diff -p -u -r1.13 softdevice.h
--- softdevice.h	11 Nov 2006 08:45:17 -0000	1.13
+++ softdevice.h	22 Jan 2007 21:06:00 -0000
@@ -58,6 +58,7 @@ public:
   virtual cOsdObject *MainMenuAction(void);
   virtual cMenuSetupPage *SetupMenu(void);
   virtual bool SetupParse(const char *Name, const char *Value);
+  virtual void MainThreadHook(void);
 #if VDRVERSNUM >= 10330
   virtual bool Service(const char *Id, void *Data = NULL);
 #endif
