From patchwork Sat Apr 29 15:10:20 2006 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Klaus Schmidinger X-Patchwork-Id: 12292 Received: from raven.cadsoft.de ([217.7.101.211]) by www.linuxtv.org with esmtp (Exim 4.50) id 1FZr5X-0000PY-OC for vdr@linuxtv.org; Sat, 29 Apr 2006 17:10:27 +0200 Received: from [192.168.100.10] (hawk.cadsoft.de [192.168.100.10]) by raven.cadsoft.de (8.13.3/8.13.3) with ESMTP id k3TFAN0Q012795 for ; Sat, 29 Apr 2006 17:10:23 +0200 Message-ID: <445381DC.1010104@cadsoft.de> Date: Sat, 29 Apr 2006 17:10:20 +0200 From: Klaus Schmidinger Organization: CadSoft Computer GmbH User-Agent: Thunderbird 1.5.0.2 (X11/20060420) MIME-Version: 1.0 To: vdr@linuxtv.org X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0 (raven.cadsoft.de [192.168.1.1]); Sat, 29 Apr 2006 17:10:24 +0200 (CEST) Subject: [vdr] VDR 1.4.0 - the final countdown X-BeenThere: vdr@linuxtv.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: VDR Mailing List List-Id: VDR Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 29 Apr 2006 15:10:27 -0000 Status: O X-Status: X-Keywords: X-UID: 9152 There have been three last minute fixes since version 1.3.49, which I'm attaching as a 'diff' to this message: - Fixed handling the "Power" key in case a recording is going on and no plugin is active (thanks to Udo Richter; bug reported by Dominique Simon). - Fixed a memory leak in handling external EPG data (thanks to Tobias Grimm). - Fixed a memory leak in closing the video file during replay (thanks to Tobias Grimm). Maybe some of you can find the time to apply this small patch and verify it. There have also been patches to i18n.c for updates on the Polish and Italian texts, but that's uncritical. If nothing really serious goes wrong, I plan to release VDR 1.4.0 tomorrow afternoon. Klaus diff -ruN vdr-1.3.49/eit.c vdr-1.4.0/eit.c --- vdr-1.3.49/eit.c 2006-04-15 16:11:52.000000000 +0200 +++ vdr-1.4.0/eit.c 2006-04-29 13:38:37.000000000 +0200 @@ -103,8 +103,10 @@ cLinkChannels *LinkChannels = NULL; cComponents *Components = NULL; for (SI::Loop::Iterator it2; (d = SiEitEvent.eventDescriptors.getNext(it2)); ) { - if (ExternalData && d->getDescriptorTag() != SI::ComponentDescriptorTag) + if (ExternalData && d->getDescriptorTag() != SI::ComponentDescriptorTag) { + delete d; continue; + } switch (d->getDescriptorTag()) { case SI::ExtendedEventDescriptorTag: { SI::ExtendedEventDescriptor *eed = (SI::ExtendedEventDescriptor *)d; diff -ruN vdr-1.3.49/recording.c vdr-1.4.0/recording.c --- vdr-1.3.49/recording.c 2006-04-23 12:43:06.000000000 +0200 +++ vdr-1.4.0/recording.c 2006-04-29 15:22:20.000000000 +0200 @@ -1436,7 +1436,7 @@ void cFileName::Close(void) { if (file) { - if ((record && CloseVideoFile(file) < 0) || (!record && file->Close() < 0)) + if (CloseVideoFile(file) < 0) LOG_ERROR_STR(fileName); file = NULL; } diff -ruN vdr-1.3.49/vdr.c vdr-1.4.0/vdr.c --- vdr-1.3.49/vdr.c 2006-04-28 15:23:55.000000000 +0200 +++ vdr-1.4.0/vdr.c 2006-04-29 11:14:06.000000000 +0200 @@ -970,21 +970,23 @@ } break; // Power off: - case kPower: isyslog("Power button pressed"); - DELETE_MENU; - if (!Shutdown) { - Skins.Message(mtError, tr("Can't shutdown - option '-s' not given!")); - break; - } - if (cRecordControls::Active()) { - if (Interface->Confirm(tr("Recording - shut down anyway?"))) - ForceShutdown = true; - } - if (!cPluginManager::Active(tr("shut down anyway?"))) - ForceShutdown = true; - LastActivity = 1; // not 0, see below! - UserShutdown = true; - break; + case kPower: + isyslog("Power button pressed"); + DELETE_MENU; + if (!Shutdown) { + Skins.Message(mtError, tr("Can't shutdown - option '-s' not given!")); + break; + } + LastActivity = 1; // not 0, see below! + UserShutdown = true; + if (cRecordControls::Active()) { + if (!Interface->Confirm(tr("Recording - shut down anyway?"))) + break; + } + if (cPluginManager::Active(tr("shut down anyway?"))) + break; + ForceShutdown = true; + break; default: break; } Interact = Menu ? Menu : cControl::Control(); // might have been closed in the mean time