diff -ruN vdr-1.4.4/CONTRIBUTORS vdr-1.4.4-1/CONTRIBUTORS
--- vdr-1.4.4/CONTRIBUTORS	2006-11-04 14:18:43.000000000 +0100
+++ vdr-1.4.4-1/CONTRIBUTORS	2006-12-02 11:35:27.000000000 +0100
@@ -1113,6 +1113,7 @@
  for implementing cDevice::ForceTransferMode()
  for changing the behaviour when hitting the end of a recording in fast forward mode
  for suggesting to give the cRemote::CallPlugin() function a boolean return value
+ for fixing a possible crash in remux.c on 64-bit machines
 
 Richard Robson <richard_robson@beeb.net>
  for reporting freezing replay if a timer starts while in Transfer Mode from the
@@ -1474,6 +1475,8 @@
  for reporting that an assignment in svdrp.c didn't use the cTimer::operator=())
  for suggesting that the function cThread::Cancel() should only set 'running' to
  false and not actually kill the thread if the special value -1 is given
+ or fixing a possible segfault in cSkins::Message()
+ for some hints on how to improve handling cPluginManager::Active()
 
 Sven Kreiensen <svenk@kammer.uni-hannover.de>
  for his help in keeping 'channels.conf.terr' up to date
@@ -1521,6 +1524,9 @@
  cStatus::Replaying(), so that they can provide the full file name of the recording
  for suggesting that externally provided EPG data (with table ID 0x00) shall get its
  component descriptors set from the broadcast data
+ for reporting a typo in the change to the "Use small font" setup option in version
+ 1.3.47 in the HISTORY and CONTRIBUTORS file
+ for reporting a missing 'const' in cRecordingInfo::ChannelID()
 
 Dino Ravnic <dino.ravnic@fer.hr>
  for fixing some characters in the iso8859-2 font file
@@ -1638,6 +1644,7 @@
  for fixing converting the port number in the "connect from..." log message of SVDRP
  for reporting that there are places where ntohs() is assigned to different types
  for adapting cThread::ThreadId() to recent kernels
+ for some improvements to the man pages
 
 Steffen Beyer <cpunk@reactor.de>
  for fixing setting the colored button help after deleting a recording in case the next
@@ -1903,7 +1910,7 @@
 Ronny Kornexl <ronny.kornexl@online.de>
  for reporting a problem with setting "No title" for broken event data
  for suggesting to make the "Use small font" setup option *always* use the small
- font if set to '3' - even if it would have been a fixed font
+ font if set to '2' - even if it would have been a fixed font
  for reporting a bug in initializing 'noapiv' in the Makefile
 
 Vladimír Bárta <vladimir.barta@k2atmitec.cz>
@@ -2032,3 +2039,6 @@
 Ulf Kiener <webmaster@ulf-kiener.de>
  for reporting a problem with audio track descriptions in the DVD plugin after a
  replay has been stopped
+
+Jörg Wendel <vdr-ml@jwendel.de>
+ for reporting that cPlugin::Active() was called too often
diff -ruN vdr-1.4.4/HISTORY vdr-1.4.4-1/HISTORY
--- vdr-1.4.4/HISTORY	2006-11-04 14:18:10.000000000 +0100
+++ vdr-1.4.4-1/HISTORY	2006-12-03 10:57:09.000000000 +0100
@@ -4611,7 +4611,7 @@
   (since version 1.3.38 disk access is done in a separate thread, so the watchdog
   timer won't hit).
 - Changed the behaviour of the "Use small font" setup option to *always* use the small
-  font if set to '3' - even if it would have been a fixed font (suggested by Ronny
+  font if set to '2' - even if it would have been a fixed font (suggested by Ronny
   Kornexl).
 - No longer using characters 0x01 and 0x02 for mapping single quote and slash in
   recording names (thanks to Patrick Fischer for reporting that this was a problem
@@ -4985,3 +4985,26 @@
 
 - Fixed displaying the replay mode symbol in case of "Multi speed mode" (reported
   by Marco Schlüßler).
+
+2006-12-03: Version 1.4.4-1
+
+- Some improvements to the man pages (thanks to Ville Skyttä).
+- Fixed a possible segfault in cSkins::Message() (thanks to Udo Richter).
+- Made the getskyepg.pl script of the 'sky' plugin send a user agent message to
+  the server, according to the rules at http://bleb.org/tv/data/listings.
+  If your version of 'wget' doesn't support the -U option to set the user agent,
+  use the new option -U of getskyepg.pl to have the information added to the URL
+  as a query string.
+- The getskyepg.pl script now replaces "&amp;" with "&".
+- Fixed a possible crash in remux.c on 64-bit machines (thanks to Reinhard Nissl).
+- Fixed a typo in the change to the "Use small font" setup option in version 1.3.47
+  in the HISTORY and CONTRIBUTORS file (reported by Andreas Brugger).
+- Added a missing 'const' to cRecordingInfo::ChannelID() (reported by Andreas
+  Brugger). This required the APIVERSION to be increased, so plugins will have to
+  be recompiled.
+- Now calling cPluginManager::Active() only if VDR is really trying to shut down,
+  and waiting for 5 minutes before calling it again (thanks to Jörg Wendel for
+  reporting that cPlugin::Active() was called too often, and to Udo Richter for
+  some hints on how to improve this).
+- Replaced 'unsigned long long' with 'uint32_t' and 'uint64' with 'uint64_t' to
+  avoid problems on 64-bit machines.
diff -ruN vdr-1.4.4/PLUGINS/src/sky/HISTORY vdr-1.4.4-1/PLUGINS/src/sky/HISTORY
--- vdr-1.4.4/PLUGINS/src/sky/HISTORY	2006-03-26 11:26:11.000000000 +0200
+++ vdr-1.4.4-1/PLUGINS/src/sky/HISTORY	2006-12-02 10:55:31.000000000 +0100
@@ -45,3 +45,12 @@
 2006-03-26: Version 0.3.5
 
 - Fixed format string handling.
+
+2006-12-02: Version 0.3.5 (version number not increased)
+
+- Made the getskyepg.pl script send a user agent message to
+  the server, according to the rules at http://bleb.org/tv/data/listings.
+  If your version of 'wget' doesn't support the -U option to set the user agent,
+  use the new option -U of getskyepg.pl to have the information added to the URL
+  as a query string.
+- The getskyepg.pl script now replaces "&amp;" with "&".
diff -ruN vdr-1.4.4/PLUGINS/src/sky/getskyepg.pl vdr-1.4.4-1/PLUGINS/src/sky/getskyepg.pl
--- vdr-1.4.4/PLUGINS/src/sky/getskyepg.pl	2006-01-08 11:21:32.000000000 +0100
+++ vdr-1.4.4-1/PLUGINS/src/sky/getskyepg.pl	2006-12-02 10:52:49.000000000 +0100
@@ -8,7 +8,7 @@
 #
 # See the README file for copyright information and how to reach the author.
 #
-# $Id: getskyepg.pl 1.4 2006/01/08 10:21:32 kls Exp $
+# $Id: getskyepg.pl 1.6 2006/12/02 09:52:49 kls Exp $
 
 use Getopt::Std;
 use Time::Local;
@@ -21,18 +21,29 @@
          -p port            SVDRP port number (default: 2001)
          -S source          channel source (default: S28.2E)
          -D days            days to get EPG for (1..7, default: 2)
+         -U                 use this if your version of 'wget' doesn't support -U
 };
 
-die $Usage if (!getopts("c:d:D:hp:S:") || $opt_h);
+die $Usage if (!getopts("c:d:D:hp:S:U") || $opt_h);
 
 $Conf   = $opt_c || "channels.conf.sky";
 $Dest   = $opt_d || "localhost";
 $Port   = $opt_p || 2001;
 $Source = $opt_S || "S28.2E";
 $Days   = $opt_D || 2;
+$User   = $opt_U;
+
+# See "Rules for using this data" on http://bleb.org/tv/data/listings.
+# In case you modify this script in a way that changes its behavior
+# towards the www.bleb.org website, please replace 'vdrbugs@cadsoft.de'
+# with your own email address! That way Andrew Flegg <andrew@bleb.org>,
+# who runs that web site, can contact you in case of problems.
+$IDENT = "VDR::getskyepg.pl, http://www.cadsoft.de/vdr - vdrbugs\@cadsoft.de";
+$GAP = 2;
 
 $SkyWebPage = "www.bleb.org/tv/data/listings";
 $WGET = "/usr/bin/wget -q -O-";
+$WGET .= " -U '$IDENT'" unless $User;
 $LOGGER = "/usr/bin/logger -t SKYEPG";
 
 $DST = -3600; # Daylight Saving Time offset
@@ -76,13 +87,21 @@
   my $channel = shift;
   my $day = shift;
   $day--;
-  my $url = "$SkyWebPage/$day/$channel.xml";
+  my $url = "http://$SkyWebPage/$day/$channel.xml";
+  $url .= "?$IDENT" if $User;
   Log("reading $url");
   my @page = split("\n", `$WGET '$url'`);
   Log("received " . ($#page + 1) . " lines");
   return @page;
 }
 
+sub ReplaceTags
+{
+  my $s = shift;
+  $s =~ s/&amp;/&/g;
+  return $s;
+}
+
 sub StripWhitespace
 {
   my $s = shift;
@@ -96,7 +115,7 @@
   my $s = shift;
   my $t = shift;
   $s =~ /<$t>([^<]*)<\/$t>/;
-  return StripWhitespace($1);
+  return ReplaceTags(StripWhitespace($1));
 }
 
 # In order to get the duration we need to buffer the last event:
@@ -174,6 +193,7 @@
              $data .= $line;
              }
           }
+      sleep($GAP);
       }
   SVDRPsend("c");
   Log("generated $numEvents EPG events");
diff -ruN vdr-1.4.4/config.h vdr-1.4.4-1/config.h
--- vdr-1.4.4/config.h	2006-11-04 14:19:31.000000000 +0100
+++ vdr-1.4.4-1/config.h	2006-12-01 16:08:43.000000000 +0100
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: config.h 1.277 2006/11/04 13:19:31 kls Exp $
+ * $Id: config.h 1.279 2006/12/01 15:08:43 kls Exp $
  */
 
 #ifndef __CONFIG_H
@@ -21,13 +21,13 @@
 
 // VDR's own version number:
 
-#define VDRVERSION  "1.4.4"
+#define VDRVERSION  "1.4.4-1"
 #define VDRVERSNUM   10404  // Version * 10000 + Major * 100 + Minor
 
 // The plugin API's version number:
 
-#define APIVERSION  "1.4.4"
-#define APIVERSNUM   10404  // Version * 10000 + Major * 100 + Minor
+#define APIVERSION  "1.4.5"
+#define APIVERSNUM   10405  // Version * 10000 + Major * 100 + Minor
 
 // When loading plugins, VDR searches them by their APIVERSION, which
 // may be smaller than VDRVERSION in case there have been no changes to
diff -ruN vdr-1.4.4/font.h vdr-1.4.4-1/font.h
--- vdr-1.4.4/font.h	2006-02-05 14:46:36.000000000 +0100
+++ vdr-1.4.4-1/font.h	2006-12-02 12:11:48.000000000 +0100
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: font.h 1.12 2006/02/05 13:46:36 kls Exp $
+ * $Id: font.h 1.13 2006/12/02 11:11:48 kls Exp $
  */
 
 #ifndef __FONT_H
@@ -32,7 +32,7 @@
 class cFont {
 public:
   enum { NUMCHARS = 256 };
-  typedef unsigned long tPixelData;
+  typedef uint32_t tPixelData;
   struct tCharData {
     tPixelData width, height;
     tPixelData lines[1];
diff -ruN vdr-1.4.4/menu.c vdr-1.4.4-1/menu.c
--- vdr-1.4.4/menu.c	2006-11-04 14:13:18.000000000 +0100
+++ vdr-1.4.4-1/menu.c	2006-12-02 12:12:02.000000000 +0100
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: menu.c 1.445 2006/11/04 13:13:18 kls Exp $
+ * $Id: menu.c 1.446 2006/12/02 11:12:02 kls Exp $
  */
 
 #include "menu.h"
@@ -3280,7 +3280,7 @@
             return osEnd;
             }
     };
-  if (!timeout || lastTime.Elapsed() < (uint64)(Setup.ChannelInfoTime * 1000)) {
+  if (!timeout || lastTime.Elapsed() < (uint64_t)(Setup.ChannelInfoTime * 1000)) {
      if (Key == kNone && !number && group < 0 && !NewChannel && channel && channel->Number() != cDevice::CurrentChannel()) {
         // makes sure a channel switch through the SVDRP CHAN command is displayed
         channel = Channels.GetByNumber(cDevice::CurrentChannel());
diff -ruN vdr-1.4.4/rcu.c vdr-1.4.4-1/rcu.c
--- vdr-1.4.4/rcu.c	2006-06-16 11:29:24.000000000 +0200
+++ vdr-1.4.4-1/rcu.c	2006-12-02 12:12:28.000000000 +0100
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: rcu.c 1.14 2006/06/16 09:29:24 kls Exp $
+ * $Id: rcu.c 1.15 2006/12/02 11:12:28 kls Exp $
  */
 
 #include "rcu.h"
@@ -97,7 +97,7 @@
   time_t LastCodeRefresh = 0;
   cTimeMs FirstTime;
   unsigned char LastCode = 0, LastMode = 0;
-  uint64 LastCommand = ~0; // 0x00 might be a valid command
+  uint64_t LastCommand = ~0; // 0x00 might be a valid command
   unsigned int LastData = 0;
   bool repeat = false;
 
@@ -109,13 +109,13 @@
                   buffer.raw[i] = b;
                   if (i == 5) {
                      unsigned short Address = ntohs(buffer.data.address); // the PIC sends bytes in "network order"
-                     uint64         Command = ntohl(buffer.data.command);
+                     uint64_t       Command = ntohl(buffer.data.command);
                      if (code == 'B' && Address == 0x0000 && Command == 0x00004000)
                         // Well, well, if it isn't the "d-box"...
                         // This remote control sends the above command before and after
                         // each keypress - let's just drop this:
                         break;
-                     Command |= uint64(Address) << 32;
+                     Command |= uint64_t(Address) << 32;
                      if (Command != LastCommand) {
                         LastCommand = Command;
                         repeat = false;
diff -ruN vdr-1.4.4/recording.h vdr-1.4.4-1/recording.h
--- vdr-1.4.4/recording.h	2006-07-30 12:24:07.000000000 +0200
+++ vdr-1.4.4-1/recording.h	2006-12-01 16:06:07.000000000 +0100
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: recording.h 1.55 2006/07/30 10:24:07 kls Exp $
+ * $Id: recording.h 1.56 2006/12/01 15:06:07 kls Exp $
  */
 
 #ifndef __RECORDING_H
@@ -50,7 +50,7 @@
   void SetAux(const char *Aux);
 public:
   ~cRecordingInfo();
-  tChannelID ChannelID(void) { return channelID; }
+  tChannelID ChannelID(void) const { return channelID; }
   const char *Title(void) const { return event->Title(); }
   const char *ShortText(void) const { return event->ShortText(); }
   const char *Description(void) const { return event->Description(); }
diff -ruN vdr-1.4.4/remote.c vdr-1.4.4-1/remote.c
--- vdr-1.4.4/remote.c	2006-10-14 13:05:57.000000000 +0200
+++ vdr-1.4.4-1/remote.c	2006-12-02 12:12:42.000000000 +0100
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: remote.c 1.54 2006/10/14 11:05:57 kls Exp $
+ * $Id: remote.c 1.55 2006/12/02 11:12:42 kls Exp $
  */
 
 #include "remote.h"
@@ -116,7 +116,7 @@
   return true;
 }
 
-bool cRemote::Put(uint64 Code, bool Repeat, bool Release)
+bool cRemote::Put(uint64_t Code, bool Repeat, bool Release)
 {
   char buffer[32];
   snprintf(buffer, sizeof(buffer), "%016LX", Code);
@@ -203,7 +203,7 @@
 
 struct tKbdMap {
   eKbdFunc func;
-  uint64 code;
+  uint64_t code;
   };
 
 static tKbdMap KbdMap[] = {
@@ -264,7 +264,7 @@
   rawMode = RawMode;
 }
 
-uint64 cKbdRemote::MapFuncToCode(int Func)
+uint64_t cKbdRemote::MapFuncToCode(int Func)
 {
   for (tKbdMap *p = KbdMap; p->func != kfNone; p++) {
       if (p->func == Func)
@@ -273,7 +273,7 @@
   return (Func <= 0xFF) ? Func : 0;
 }
 
-int cKbdRemote::MapCodeToFunc(uint64 Code)
+int cKbdRemote::MapCodeToFunc(uint64_t Code)
 {
   for (tKbdMap *p = KbdMap; p->func != kfNone; p++) {
       if (p->code == Code)
@@ -296,9 +296,9 @@
   return -1;
 }
 
-uint64 cKbdRemote::ReadKeySequence(void)
+uint64_t cKbdRemote::ReadKeySequence(void)
 {
-  uint64 k = 0;
+  uint64_t k = 0;
   int key1;
 
   if ((key1 = ReadKey()) >= 0) {
@@ -342,7 +342,7 @@
 void cKbdRemote::Action(void)
 {
   while (Running()) {
-        uint64 Command = ReadKeySequence();
+        uint64_t Command = ReadKeySequence();
         if (Command) {
            if (rawMode || !Put(Command)) {
               int func = MapCodeToFunc(Command);
diff -ruN vdr-1.4.4/remote.h vdr-1.4.4-1/remote.h
--- vdr-1.4.4/remote.h	2006-10-14 13:46:58.000000000 +0200
+++ vdr-1.4.4-1/remote.h	2006-12-02 12:12:49.000000000 +0100
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: remote.h 1.37 2006/10/14 11:46:58 kls Exp $
+ * $Id: remote.h 1.38 2006/12/02 11:12:49 kls Exp $
  */
 
 #ifndef __REMOTE_H
@@ -35,7 +35,7 @@
   cRemote(const char *Name);
   const char *GetSetup(void);
   void PutSetup(const char *Setup);
-  bool Put(uint64 Code, bool Repeat = false, bool Release = false);
+  bool Put(uint64_t Code, bool Repeat = false, bool Release = false);
   bool Put(const char *Code, bool Repeat = false, bool Release = false);
 public:
   virtual ~cRemote();
@@ -100,13 +100,13 @@
   struct termios savedTm;
   virtual void Action(void);
   int ReadKey(void);
-  uint64 ReadKeySequence(void);
-  int MapCodeToFunc(uint64 Code);
+  uint64_t ReadKeySequence(void);
+  int MapCodeToFunc(uint64_t Code);
 public:
   cKbdRemote(void);
   virtual ~cKbdRemote();
   static bool KbdAvailable(void) { return kbdAvailable; }
-  static uint64 MapFuncToCode(int Func);
+  static uint64_t MapFuncToCode(int Func);
   static void SetRawMode(bool RawMode);
   };
 
diff -ruN vdr-1.4.4/remux.c vdr-1.4.4-1/remux.c
--- vdr-1.4.4/remux.c	2006-04-17 14:48:12.000000000 +0200
+++ vdr-1.4.4-1/remux.c	2006-12-01 15:46:25.000000000 +0100
@@ -11,7 +11,7 @@
  * The cRepacker family's code was originally written by Reinhard Nissl <rnissl@gmx.de>,
  * and adapted to the VDR coding style by Klaus.Schmidinger@cadsoft.de.
  *
- * $Id: remux.c 1.56 2006/04/17 12:48:12 kls Exp $
+ * $Id: remux.c 1.57 2006/12/01 14:46:25 kls Exp $
  */
 
 #include "remux.h"
@@ -389,7 +389,7 @@
         }
 
   Data = Limit;
-  unsigned long *Scanner = (unsigned long *)(Data - 3);
+  uint32_t *Scanner = (uint32_t *)(Data - 3);
   scanner = ntohl(*Scanner);
   return false;
 }
@@ -615,7 +615,7 @@
         }
 
   Data = Limit + 1;
-  unsigned long *LocalScanner = (unsigned long *)(Data - 4);
+  uint32_t *LocalScanner = (uint32_t *)(Data - 4);
   localScanner = ntohl(*LocalScanner);
   return false;
 }
diff -ruN vdr-1.4.4/skins.c vdr-1.4.4-1/skins.c
--- vdr-1.4.4/skins.c	2006-06-03 16:39:14.000000000 +0200
+++ vdr-1.4.4-1/skins.c	2006-12-01 14:32:37.000000000 +0100
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: skins.c 1.11 2006/06/03 14:39:14 kls Exp $
+ * $Id: skins.c 1.12 2006/12/01 13:32:37 kls Exp $
  */
 
 #include "skins.h"
@@ -226,8 +226,11 @@
     }
   if (!Current())
      return kNone;
-  if (!cSkinDisplay::Current() && !displayMessage)
+  if (!cSkinDisplay::Current()) {
+     if (displayMessage)
+        delete displayMessage;
      displayMessage = Current()->DisplayMessage();
+     }
   cSkinDisplay::Current()->SetMessage(Type, s);
   cSkinDisplay::Current()->Flush();
   cStatus::MsgOsdStatusMessage(s);
diff -ruN vdr-1.4.4/tools.c vdr-1.4.4-1/tools.c
--- vdr-1.4.4/tools.c	2006-08-12 15:30:07.000000000 +0200
+++ vdr-1.4.4-1/tools.c	2006-12-02 12:12:59.000000000 +0100
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: tools.c 1.120 2006/08/12 13:30:07 kls Exp $
+ * $Id: tools.c 1.121 2006/12/02 11:12:59 kls Exp $
  */
 
 #include "tools.h"
@@ -547,11 +547,11 @@
   Set();
 }
 
-uint64 cTimeMs::Now(void)
+uint64_t cTimeMs::Now(void)
 {
   struct timeval t;
   if (gettimeofday(&t, NULL) == 0)
-     return (uint64(t.tv_sec)) * 1000 + t.tv_usec / 1000;
+     return (uint64_t(t.tv_sec)) * 1000 + t.tv_usec / 1000;
   return 0;
 }
 
@@ -565,7 +565,7 @@
   return Now() >= begin;
 }
 
-uint64 cTimeMs::Elapsed(void)
+uint64_t cTimeMs::Elapsed(void)
 {
   return Now() - begin;
 }
diff -ruN vdr-1.4.4/tools.h vdr-1.4.4-1/tools.h
--- vdr-1.4.4/tools.h	2006-04-16 12:40:45.000000000 +0200
+++ vdr-1.4.4-1/tools.h	2006-12-02 12:14:14.000000000 +0100
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: tools.h 1.93 2006/04/16 10:40:45 kls Exp $
+ * $Id: tools.h 1.94 2006/12/02 11:14:14 kls Exp $
  */
 
 #ifndef __TOOLS_H
@@ -15,6 +15,7 @@
 #include <fcntl.h>
 #include <poll.h>
 #include <stddef.h>
+#include <stdint.h>
 #include <stdio.h>
 #include <string.h>
 #include <syslog.h>
@@ -22,7 +23,6 @@
 #include <sys/types.h>
 
 typedef unsigned char uchar;
-typedef unsigned long long int uint64;
 
 extern int SysLogLevel;
 
@@ -159,13 +159,13 @@
 
 class cTimeMs {
 private:
-  uint64 begin;
+  uint64_t begin;
 public:
   cTimeMs(void);
-  static uint64 Now(void);
+  static uint64_t Now(void);
   void Set(int Ms = 0);
   bool TimedOut(void);
-  uint64 Elapsed(void);
+  uint64_t Elapsed(void);
   };
 
 class cReadLine {
diff -ruN vdr-1.4.4/vdr.1 vdr-1.4.4-1/vdr.1
--- vdr-1.4.4/vdr.1	2006-06-24 12:07:16.000000000 +0200
+++ vdr-1.4.4-1/vdr.1	2006-11-19 11:02:31.000000000 +0100
@@ -8,7 +8,7 @@
 .\" License as specified in the file COPYING that comes with the
 .\" vdr distribution.
 .\"
-.\" $Id: vdr.1 1.26 2006/06/24 10:07:16 kls Exp $
+.\" $Id: vdr.1 1.27 2006/11/19 10:02:31 kls Exp $
 .\"
 .TH vdr 1 "30 Apr 2006" "1.4.0" "Video Disk Recorder"
 .SH NAME
@@ -23,12 +23,12 @@
 well as cable (DVB-C) and terrestrial (DVB-T) signals.
 
 At least one DVB card is required to run \fBvdr\fR. With it you can watch
-live tv while recording one or more other broadcasts from the same transponder.
+live TV while recording one or more other broadcasts from the same transponder.
 It is also possible to start watching a recorded programme before the live
 broadcast has ended (\fBtime shifting\fR). In order to record from different
 transponders simultaneously two or more DVB cards are necessary.
 By default \fBvdr\fR can support up to four
-DVB cards. The primary DVB card (the one your tv set is connected to) has
+DVB cards. The primary DVB card (the one your TV set is connected to) has
 to be a "full featured" card, which means it must contain an MPEG decoder
 and provide audio and video signal outputs.
 
@@ -76,7 +76,7 @@
 \fB0\fR\ =\ no logging, \fB1\fR\ =\ errors only,
 \fB2\fR\ =\ errors and info, \fB3\fR\ =\ errors, info and debug.
 The default logging level is \fB3\fR.
-If logging should be done to LOG_LOCALn instead of
+If logging should be done to LOG_LOCAL\fIn\fR instead of
 LOG_USER, add '.n' to LEVEL, as in 3.7 (n=0..7).
 .TP
 .BI \-L\  dir ,\ \-\-lib= dir
@@ -122,10 +122,12 @@
 If \fIpath\fR is omitted, vdr uses \fI/dev/ttyS1\fR.
 .TP
 .BI \-r\  cmd ,\ \-\-record= cmd
-Call \fIcmd\fR before and after a recording.
+Call \fIcmd\fR before and after a recording. See the file \fIINSTALL\fR for
+more information.
 .TP
 .BI \-s\  cmd ,\ \-\-shutdown= cmd
-Call \fIcmd\fR to shutdown the computer.
+Call \fIcmd\fR to shutdown the computer. See the file \fIINSTALL\fR for more
+information.
 .TP
 .BI \-t\  tty ,\ \-\-terminal= tty
 Set the controlling terminal.
diff -ruN vdr-1.4.4/vdr.5 vdr-1.4.4-1/vdr.5
--- vdr-1.4.4/vdr.5	2006-04-30 10:55:16.000000000 +0200
+++ vdr-1.4.4-1/vdr.5	2006-11-19 11:02:33.000000000 +0100
@@ -8,7 +8,7 @@
 .\" License as specified in the file COPYING that comes with the
 .\" vdr distribution.
 .\"
-.\" $Id: vdr.5 1.59 2006/04/30 08:55:16 kls Exp $
+.\" $Id: vdr.5 1.60 2006/11/19 10:02:33 kls Exp $
 .\"
 .TH vdr 5 "30 Apr 2006" "1.4.0" "Video Disk Recorder Files"
 .SH NAME
@@ -57,7 +57,7 @@
 .B Name
 The channel's name (if the name originally contains a ':' character
 it has to be replaced by '|').
-Some tv stations provide a way of deriving a "short name" from the
+Some TV stations provide a way of deriving a "short name" from the
 channel name, which can be used in situations where there is not
 much space for displaying a long name. If a short name is available
 for this channel, it follows the full name and is delimited by a comma,
@@ -248,7 +248,7 @@
 
 .B MTWTF\-\-
 
-will define a timer that records on Monday thru Friday and does not record
+will define a timer that records on Monday through Friday and does not record
 on weekends. The same result could be achieved with \fBABCDE\-\-\fR (this is
 used to allow setting the days with language specific characters).
 Note that only letters may be used here, no digits.
@@ -259,7 +259,7 @@
 
 \fBMTWTF\-\-@2002\-02\-18\fR
 
-which would implement a timer that records Monday thru Friday, and will hit
+which would implement a timer that records Monday through Friday, and will hit
 for the first time on or after February 18, 2002.
 This \fBfirst day\fR feature can be used to disable a repeating timer for a couple
 of days, or for instance to define a new Mon...Fri timer on Wednesday, which
diff -ruN vdr-1.4.4/vdr.c vdr-1.4.4-1/vdr.c
--- vdr-1.4.4/vdr.c	2006-10-14 12:01:32.000000000 +0200
+++ vdr-1.4.4-1/vdr.c	2006-12-02 17:22:12.000000000 +0100
@@ -22,7 +22,7 @@
  *
  * The project's page is at http://www.cadsoft.de/vdr
  *
- * $Id: vdr.c 1.280 2006/10/14 10:01:32 kls Exp $
+ * $Id: vdr.c 1.282 2006/12/02 16:22:12 kls Exp $
  */
 
 #include <getopt.h>
@@ -1154,7 +1154,7 @@
                  Skins.Message(mtInfo, tr("Editing process finished"));
               }
            }
-        if (!Interact && ((!cRecordControls::Active() && !cCutter::Active() && !cPluginManager::Active() && (!Interface->HasSVDRPConnection() || UserShutdown)) || ForceShutdown)) {
+        if (!Interact && ((!cRecordControls::Active() && !cCutter::Active() && (!Interface->HasSVDRPConnection() || UserShutdown)) || ForceShutdown)) {
            time_t Now = time(NULL);
            if (Now - LastActivity > ACTIVITYTIMEOUT) {
               // Shutdown:
@@ -1178,6 +1178,10 @@
                     timer = NULL;
                     dsyslog("reboot at %s", *TimeToString(Next));
                     }
+                 if (!ForceShutdown && cPluginManager::Active()) {
+                    LastActivity = Now - Setup.MinUserInactivity * 60 + SHUTDOWNRETRY; // try again later
+                    continue;
+                    }
                  if (!Next || Delta > Setup.MinEventTimeout * 60 || ForceShutdown) {
                     ForceShutdown = false;
                     if (timer)
