From fc697bfdb13978512ab6c80eb9186e6b18f81161 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 19 May 2013 12:07:07 +0200 Subject: [PATCH] Fixed a crash in the LCARS skin's main menu in case there is no current channel --- CONTRIBUTORS | 3 +++ HISTORY | 4 +++- skinlcars.c | 4 +++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index e1e20c2d..ff1780ef 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -3152,3 +3152,6 @@ Stefan Braun Jochen Dolze for changing cThread::SetIOPriority() from "best effort class" to "idle class" in order to improve overall performance when an editing process is running + +Dominique Dumont + for reporting a crash in the LCARS skin's main menu in case there is no current channel diff --git a/HISTORY b/HISTORY index 53625271..95de49c4 100644 --- a/HISTORY +++ b/HISTORY @@ -7811,7 +7811,7 @@ Video Disk Recorder Revision History - Fixed an endless loop in the DrawEllipse() functions for very small ellipses (reported by Stefan Braun). -2013-05-18: Version 2.1.1 +2013-05-19: Version 2.1.1 - Fixed initializing cDevice::keepTracks. - Fixed an endless loop in cTextWrapper::Set() in case the given Width is smaller than @@ -7840,3 +7840,5 @@ Video Disk Recorder Revision History - Fixed an unexpected RCS version tag in the newplugin script. - Fixed an endless loop in the DrawEllipse() functions for very small ellipses (reported by Stefan Braun). +- Fixed a crash in the LCARS skin's main menu in case there is no current channel + (reported by Dominique Dumont). diff --git a/skinlcars.c b/skinlcars.c index 09d52555..7201e6bf 100644 --- a/skinlcars.c +++ b/skinlcars.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: skinlcars.c 3.1 2013/04/09 11:10:25 kls Exp $ + * $Id: skinlcars.c 3.2 2013/05/19 12:04:09 kls Exp $ */ // "Star Trek: The Next Generation"(R) is a registered trademark of Paramount Pictures, @@ -1340,6 +1340,8 @@ void cSkinLCARSDisplayMenu::DrawLive(const cChannel *Channel) DrawMainFrameUpper(Theme.Color(clrChannelFrameBg)); osd->DrawText(xd00, yd00, tr("LIVE"), Theme.Color(clrChannelFrameBg), Theme.Color(clrBackground), tallFont, xd07 - xd00, yd01 - yd00, taTop | taRight | taBorder); } + if (!Channel) + return; if (initial || Channel != lastChannel) { 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);