From 4c59501a6b52816000d6c483fae619ebccfcdc9b Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 17 Feb 2013 15:53:00 +0100 Subject: Version 1.7.38 VDR developer version 1.7.38 is now available at MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.38.tar.bz2 A 'diff' against the previous version is available at ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.37-1.7.38.diff MD5 checksums: f4ef0f60ed662f3c983a830da67df9b2 vdr-1.7.38.tar.bz2 e945b0f44e13ed768de726cf6e66317c vdr-1.7.37-1.7.38.diff WARNING: ======== This is a developer version. Even though I use it in my productive environment. I strongly recommend that you only use it under controlled conditions and for testing and debugging. Approaching version 2.0.0: ========================== If all goes well, there should be no more functional or API changes before the final version 2.0.0. There will just be a few more fixes. From the HISTORY file: - Updated the Ukrainian OSD texts (thanks to Yarema Aka Knedlyk). - Updated the Estonian OSD texts (thanks to Arthur Konovalov). - Updated the Romanian OSD texts (thanks to Lucian Muresan). - Updated the French OSD texts (thanks to Marc Perrudin, Bernard Jaulini and Peter Münster). - Updated the Macedonian OSD texts (thanks to Dimitar Petrovski). - Fixed moving editing marks, so that they don't get overwritten with old values through an update of the marks file. - Removed an invalid line from channels.conf.terr (reported by Lars Hanisch). - Fixed an unexpected k_Repeat key event after a k_Release in lirc.c. - Fixed permissions of po/sr_SR.po (reported by Dominic Evans). - Updated the Italian OSD texts (thanks to Diego Pierotto). - Fixed using "Pause" and "Slow motion" near the end of a recording (replay stopped a few seconds after the end of the recording file has been reached). - Fixed selecting the last replayed recording in the Recordings menu in case there are folders and plain recordings with names that differ only in non-alphanumeric characters (reported by Andre Weidemann). - Fixed the description of the OSD drawing functions DrawEllipse() (the values -5...-8 for the Quadrants parameter are not implemented). - Made cOsd::DestroyPixmap() "NULL proof". - Now deleting any previously allocated pixmaps in cOsd::SetAreas(). - Added demos of the DrawEllipse() and DrawSlope() function to the 'osddemo' plugin (press '1' or '2', respectively). - Updated the Lithuanian OSD texts (thanks to Valdemaras Pipiras). - The timeout for trying to switch to a valid programme is now reset immediately once a programme has been found. - No longer checking for EOPNOTSUPP in cDvbTuner::GetSignalQuality() to avoid breaking this function in case the driver suddenly decides to return a different errno value if an operation is not supported. - Moved the definition of TIMERMACRO_TITLE and TIMERMACRO_EPISODE from recording.h to config.h and using them to initialize Setup.NameInstantRecord (avoids having the same information in two places). - Fixed the return value of cOsdProvider::StoreImage() in case there is no OSD provider. - Fixed a crash in cMenuEditChanItem::Set() when entering a channel number that doesn't exist (reported by Mikael Hübsch). - Fixed displaying pending timers in "alert" mode in the LCARS skin. - Added missing $(LDFLAGS) to the Makefile of the dvbhddevice plugin (thanks to Ville Skyttä). - Fixed some spellings in PLUGINS.html and Doxyfile (thanks to Ville Skyttä). - Added '-p' to the cp command in the install-conf target of the Makefile (thanks to Ville Skyttä). - Added missing 'const' to cDevice::HasProgramme() and cDevice::HasLock(). - Fixed determining the priority of the primary device in case it is neither replaying nor receiving a live channel (thanks to Matthias Senzel for reporting a problem with switching back to live viewing after replay in a setup with device bonding). - Removed all \return and \param tags from comment lines marked with "///<" for Doxygen. There was only a rather small number of these, and I would probably always forget to put them in place when writing future comments, so I decided to drop them entirely. - Added Doxyfile.filter to have special characters escaped that would otherwise be dropped by Doxygen (reported by Ville Skyttä). - Using 'cat' instead of 'cp' to copy the Doxyfile to avoid problems in case Doxyfile is write protected. - Updated the Doxyfile with a newer version of Doxygen. - Turned off following symlinks in the Doxyfile. - Removed trailing whitespace. - Expanded tabs in PLUGINS/src/dvbhddevice/setup.c. - Some formatting fixes. --- menu.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) (limited to 'menu.c') diff --git a/menu.c b/menu.c index ae38984..69fe6d5 100644 --- a/menu.c +++ b/menu.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menu.c 2.76 2013/02/02 14:00:39 kls Exp $ + * $Id: menu.c 2.79 2013/02/17 13:17:49 kls Exp $ */ #include "menu.h" @@ -2306,8 +2306,10 @@ void cMenuRecordings::Set(bool Refresh) if (CurrentRecording && strcmp(CurrentRecording, recording->FileName()) == 0) SetCurrent(LastItem); } - if (LastDir) + if (LastDir) { LastDir->IncrementCounter(recording->IsNew()); + LastItem = LastDir; + } } } if (Refresh) @@ -2809,7 +2811,7 @@ cMenuSetupDVB::cMenuSetupDVB(void) standardComplianceTexts[1] = "ANSI/SCTE"; SetSection(tr("DVB")); - SetHelp(NULL, tr("Button$Audio"), tr("Button$Subtitles"), NULL); + SetHelp(NULL, tr("Button$Audio"), tr("Button$Subtitles"), NULL); Setup(); } @@ -2863,7 +2865,7 @@ eOSState cMenuSetupDVB::ProcessKey(eKeys Key) case kYellow: cRemote::Put(kSubtitles, true); state = osEnd; break; - default: { + default: { bool DoSetup = data.VideoFormat != newVideoFormat; DoSetup |= data.DisplaySubtitles != newDisplaySubtitles; if (numAudioLanguages != oldnumAudioLanguages) { @@ -4763,9 +4765,8 @@ void cReplayControl::MarkToggle(void) { int Current, Total; if (GetIndex(Current, Total, true)) { - cMark *m = marks.Get(Current); lastCurrent = -1; // triggers redisplay - if (m) + if (cMark *m = marks.Get(Current)) marks.Del(m); else { marks.Add(Current); @@ -4784,8 +4785,7 @@ void cReplayControl::MarkJump(bool Forward) int Current, Total; if (GetIndex(Current, Total)) { if (marks.Count()) { - cMark *m = Forward ? marks.GetNext(Current) : marks.GetPrev(Current); - if (m) { + if (cMark *m = Forward ? marks.GetNext(Current) : marks.GetPrev(Current)) { Goto(m->Position(), true); displayFrames = true; return; @@ -4801,8 +4801,7 @@ void cReplayControl::MarkMove(bool Forward) { int Current, Total; if (GetIndex(Current, Total)) { - cMark *m = marks.Get(Current); - if (m) { + if (cMark *m = marks.Get(Current)) { displayFrames = true; int p = SkipFrames(Forward ? 1 : -1); cMark *m2; @@ -4878,7 +4877,7 @@ eOSState cReplayControl::ProcessKey(eKeys Key) { if (!Active()) return osEnd; - if (Key == kNone) + if (Key == kNone && !marksModified) marks.Update(); if (visible) { if (timeoutShow && time(NULL) > timeoutShow) { @@ -4962,7 +4961,7 @@ eOSState cReplayControl::ProcessKey(eKeys Key) else Show(); break; - case kBack: if (Setup.DelTimeshiftRec) { + case kBack: if (Setup.DelTimeshiftRec) { cRecordControl* rc = cRecordControls::GetRecordControl(fileName); return rc && rc->InstantId() ? osEnd : osRecordings; } -- cgit v1.2.3