VDR 1.4.0 - the final countdown
Commit Message
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
@@ -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;
@@ -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;
}
@@ -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