1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Fixed a leftover progress display in the LCARS main menu when replay of a recording ends while the menu is open, and the live channel has no EPG information

This commit is contained in:
Klaus Schmidinger 2013-01-25 14:57:30 +01:00
parent a5426b58c6
commit a9c9b76aeb
2 changed files with 6 additions and 3 deletions

View File

@ -7548,3 +7548,5 @@ Video Disk Recorder Revision History
- Returning 0 from cDvbSdFfDevice::NumProvidedSystems() if option --outputonly is given. - Returning 0 from cDvbSdFfDevice::NumProvidedSystems() if option --outputonly is given.
- The index file is now closed after initially reading it if it is older than 3600 seconds. - The index file is now closed after initially reading it if it is older than 3600 seconds.
- Improved responsiveness during replay when close to the recording's end. - Improved responsiveness during replay when close to the recording's end.
- Fixed a leftover progress display in the LCARS main menu when replay of a recording
ends while the menu is open, and the live channel has no EPG information.

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: skinlcars.c 2.17 2013/01/23 14:00:09 kls Exp $ * $Id: skinlcars.c 2.18 2013/01/25 14:54:11 kls Exp $
*/ */
// "Star Trek: The Next Generation"(R) is a registered trademark of Paramount Pictures, // "Star Trek: The Next Generation"(R) is a registered trademark of Paramount Pictures,
@ -457,7 +457,7 @@ void cSkinLCARSDisplayChannel::DrawTrack(void)
void cSkinLCARSDisplayChannel::DrawSeen(int Current, int Total) void cSkinLCARSDisplayChannel::DrawSeen(int Current, int Total)
{ {
int Seen = min(xc07 - xc06, int((xc07 - xc06) * double(Current) / Total)); int Seen = (Total > 0) ? min(xc07 - xc06, int((xc07 - xc06) * double(Current) / Total)) : 0;
if (initial || Seen != lastSeen) { if (initial || Seen != lastSeen) {
int y0 = yc11 - ShowSeenExtent; int y0 = yc11 - ShowSeenExtent;
int y1 = yc11 + lineHeight / 2 - Gap / 2; int y1 = yc11 + lineHeight / 2 - Gap / 2;
@ -1343,6 +1343,7 @@ void cSkinLCARSDisplayMenu::DrawLive(const cChannel *Channel)
osd->DrawText(xa00, yt00, itoa(Channel->Number()), Theme.Color(clrChannelFrameFg), Theme.Color(clrChannelFrameBg), tallFont, xa02 - xa00, yt02 - yt00, taTop | taRight | taBorder); osd->DrawText(xa00, yt00, itoa(Channel->Number()), Theme.Color(clrChannelFrameFg), Theme.Color(clrChannelFrameBg), tallFont, xa02 - xa00, yt02 - yt00, taTop | taRight | taBorder);
osd->DrawText(xa03, yt00, Channel->Name(), Theme.Color(clrChannelName), Theme.Color(clrBackground), tallFont, xd00 - xa03, yd01 - yd00, taTop | taLeft); osd->DrawText(xa03, yt00, Channel->Name(), Theme.Color(clrChannelName), Theme.Color(clrBackground), tallFont, xd00 - xa03, yd01 - yd00, taTop | taLeft);
lastChannel = Channel; lastChannel = Channel;
DrawSeen(0, 0);
} }
// The current programme: // The current programme:
cSchedulesLock SchedulesLock; cSchedulesLock SchedulesLock;
@ -1423,7 +1424,7 @@ void cSkinLCARSDisplayMenu::DrawInfo(const cEvent *Event, bool WithTime)
void cSkinLCARSDisplayMenu::DrawSeen(int Current, int Total) void cSkinLCARSDisplayMenu::DrawSeen(int Current, int Total)
{ {
int Seen = min(xm08 - xm02, int((xm08 - xm02) * double(Current) / Total)); int Seen = (Total > 0) ? min(xm08 - xm02, int((xm08 - xm02) * double(Current) / Total)) : 0;
if (initial || Seen != lastSeen) { if (initial || Seen != lastSeen) {
int y0 = yc04 - ShowSeenExtent; int y0 = yc04 - ShowSeenExtent;
int y1 = yc04 + lineHeight / 2 - Gap / 2; int y1 = yc04 + lineHeight / 2 - Gap / 2;