From c49ca5abb73cbc11447da5d961e106025dc927d0 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 3 Sep 2006 18:00:00 +0200 Subject: Version 1.4.2-1 - Added LC_ALL to the checks for UTF-8 at startup (suggested by Matthias Schwarzott). - Fixed the cTimer::operator=() so that it won't mess up the cListObject's pointers (reported by Alexander Rieger). - Fixed a memory leak in the cTimer::operator=() when using the 'aux' string (reported by Alexander Rieger). - Fixed processing the PDCDescriptor in 'libsi' on big endian systems (thanks to Martin Ostermann). - Fixed handling relative volume settings that unmute the audio in the call to cStatus::MsgSetVolume() (reported by Oliver Endriss). --- CONTRIBUTORS | 10 ++++++++++ HISTORY | 12 ++++++++++++ config.h | 4 ++-- device.c | 3 ++- libsi/headers.h | 8 +------- timers.c | 23 ++++++++++++++++++----- vdr.c | 3 ++- 7 files changed, 47 insertions(+), 16 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index ea619ca..2315e54 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -640,6 +640,8 @@ Oliver Endriss for reporting a problem in extracting APIVERSION with older versions of 'sed' for fixing broken APIVERSION extraction line in 'newplugin' for making VDR no longer stop removing empty directories if an error occurs + for reporting a bug in handling relative volume settings that unmute the audio in + the call to cStatus::MsgSetVolume() Reinhard Walter Buchner for adding some satellites to 'sources.conf' @@ -1737,6 +1739,8 @@ Alexander Rieger for fixing a typo in skins.h for making cSkins::QueueMessage() called from a background thread with an empty message clears all messages that have been previously queued by that thread + for reporting that the cTimer::operator=() messes up the cListObject's pointers + for reporting a memory leak in the cTimer::operator=() when using the 'aux' string Philip Prindeville for updates to 'sources.conf' @@ -1987,3 +1991,9 @@ J Tomas Berglund for reporting a problem with sticky PIDs in CAMs when switching between encrypted channels on the same transponder + +Matthias Schwarzott + for suggesting to add LC_ALL to the checks for UTF-8 at startup + +Martin Ostermann + for fixing processing the PDCDescriptor in 'libsi' on big endian systems diff --git a/HISTORY b/HISTORY index b9ece60..9fcbe45 100644 --- a/HISTORY +++ b/HISTORY @@ -4895,3 +4895,15 @@ Video Disk Recorder Revision History which made it prefer any device that's already receiving and doesn't require detatching receivers. This change has caused some unwanted behavior, so further testing is necessary. + +2006-09-03: Version 1.4.2-1 + +- Added LC_ALL to the checks for UTF-8 at startup (suggested by Matthias Schwarzott). +- Fixed the cTimer::operator=() so that it won't mess up the cListObject's pointers + (reported by Alexander Rieger). +- Fixed a memory leak in the cTimer::operator=() when using the 'aux' string + (reported by Alexander Rieger). +- Fixed processing the PDCDescriptor in 'libsi' on big endian systems (thanks to + Martin Ostermann). +- Fixed handling relative volume settings that unmute the audio in the call to + cStatus::MsgSetVolume() (reported by Oliver Endriss). diff --git a/config.h b/config.h index 4a4cbb2..d1d4e2e 100644 --- a/config.h +++ b/config.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.h 1.267 2006/08/26 14:16:34 kls Exp $ + * $Id: config.h 1.268 2006/09/01 12:59:35 kls Exp $ */ #ifndef __CONFIG_H @@ -21,7 +21,7 @@ // VDR's own version number: -#define VDRVERSION "1.4.2" +#define VDRVERSION "1.4.2-1" #define VDRVERSNUM 10402 // Version * 10000 + Major * 100 + Minor // The plugin API's version number: diff --git a/device.c b/device.c index c17cb0b..0fb4fc7 100644 --- a/device.c +++ b/device.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: device.c 1.136 2006/08/26 14:11:03 kls Exp $ + * $Id: device.c 1.137 2006/09/03 10:13:25 kls Exp $ */ #include "device.h" @@ -779,6 +779,7 @@ void cDevice::SetVolume(int Volume, bool Absolute) int OldVolume = volume; volume = min(max(Absolute ? Volume : volume + Volume, 0), MAXVOLUME); SetVolumeDevice(volume); + Absolute |= mute; cStatus::MsgSetVolume(Absolute ? volume : volume - OldVolume, Absolute); if (volume > 0) { mute = false; diff --git a/libsi/headers.h b/libsi/headers.h index afa3106..ea7824b 100644 --- a/libsi/headers.h +++ b/libsi/headers.h @@ -10,7 +10,7 @@ * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * - * $Id: headers.h 1.7 2006/05/28 14:25:30 kls Exp $ + * $Id: headers.h 1.8 2006/09/02 20:25:16 kls Exp $ * * ***************************************************************************/ @@ -1534,15 +1534,9 @@ struct descr_dsng { struct descr_pdc { u_char descriptor_tag :8; u_char descriptor_length :8; -#if BYTE_ORDER == BIG_ENDIAN - u_char pil2 :8; - u_char pil1 :8; - u_char pil0 :8; -#else u_char pil0 :8; u_char pil1 :8; u_char pil2 :8; -#endif }; /* 0x6A ac3_descriptor */ diff --git a/timers.c b/timers.c index 8bc0b32..d8d0016 100644 --- a/timers.c +++ b/timers.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: timers.c 1.62 2006/08/05 12:03:36 kls Exp $ + * $Id: timers.c 1.63 2006/09/02 10:20:36 kls Exp $ */ #include "timers.h" @@ -90,11 +90,24 @@ cTimer::~cTimer() cTimer& cTimer::operator= (const cTimer &Timer) { - memcpy(this, &Timer, sizeof(*this)); - if (aux) - aux = strdup(aux); - event = NULL; + startTime = Timer.startTime; + stopTime = Timer.stopTime; lastSetEvent = 0; + recording = Timer.recording; + pending = Timer.pending; + inVpsMargin = Timer.inVpsMargin; + flags = Timer.flags; + channel = Timer.channel; + day = Timer.day; + weekdays = Timer.weekdays; + start = Timer.start; + stop = Timer.stop; + priority = Timer.priority; + lifetime = Timer.lifetime; + strncpy(file, Timer.file, sizeof(file)); + free(aux); + aux = Timer.aux ? strdup(Timer.aux) : NULL; + event = NULL; return *this; } diff --git a/vdr.c b/vdr.c index 436bfad..46d65c8 100644 --- a/vdr.c +++ b/vdr.c @@ -22,7 +22,7 @@ * * The project's page is at http://www.cadsoft.de/vdr * - * $Id: vdr.c 1.278 2006/08/05 10:46:38 kls Exp $ + * $Id: vdr.c 1.279 2006/09/01 12:57:44 kls Exp $ */ #include @@ -450,6 +450,7 @@ int main(int argc, char *argv[]) // Check for UTF-8 and exit if present - asprintf() will fail if it encounters 8 bit ASCII codes char *LangEnv; if ((LangEnv = getenv("LANG")) != NULL && strcasestr(LangEnv, "utf") || + (LangEnv = getenv("LC_ALL")) != NULL && strcasestr(LangEnv, "utf") || (LangEnv = getenv("LC_CTYPE")) != NULL && strcasestr(LangEnv, "utf")) { fprintf(stderr, "vdr: please turn off UTF-8 before starting VDR\n"); return 2; -- cgit v1.2.3