From patchwork Wed Aug 24 16:31:02 2005 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Brachold X-Patchwork-Id: 11989 Received: from web1.dns-net.de ([212.91.231.162]) by www.linuxtv.org with esmtp (Exim 4.34) id 1E7y9z-0001k3-6f for vdr@linuxtv.org; Wed, 24 Aug 2005 18:31:31 +0200 Received: from wopr.deltab.de (n115-213.dsl.de.inter.net [213.73.115.213]) by web1.dns-net.de (8.11.6/8.11.6) with ESMTP id j7OGVRX09515; Wed, 24 Aug 2005 18:31:27 +0200 Subject: Re: [vdr] Lost GLCD-Logo at Playback, Was Is cStatus::OsdChannel called from cEITScanner::Process From: Andreas Brachold To: "Klaus Schmidinger's VDR" In-Reply-To: <430C948C.1020500@cadsoft.de> References: <1124897560.11881.7.camel@wopr.deltab.de> <430C948C.1020500@cadsoft.de> Date: Wed, 24 Aug 2005 18:31:02 +0200 Message-Id: <1124901062.11881.22.camel@wopr.deltab.de> Mime-Version: 1.0 X-Mailer: Evolution 2.0.4 X-BeenThere: vdr@linuxtv.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Klaus Schmidinger's VDR List-Id: Klaus Schmidinger's VDR List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Aug 2005 16:31:31 -0000 Status: O X-Status: X-Keywords: X-UID: 4428 Hi, Am Mittwoch, den 24.08.2005, 17:38 +0200 schrieb Klaus Schmidinger: > cEITScanner::Process() calls Device->SwitchChannel() which eventually > leads to a call to cStatus::MsgChannelSwitch(). So yes, this is the case. > > But that's not a call from a "background process" - it's done from the > main thread. > > The same could happen if a recording starts on the primary device > while a replay is going on. > Thanks for this statement, now I know, where I must search. attached a patch, so that swichting from channels during playback are ignored now by Graphlcd Plugin Andreas Index: display.c =================================================================== --- display.c (Revision 21) +++ display.c (Arbeitskopie) @@ -484,7 +484,9 @@ void cGraphLCDDisplay::SetChannel(int ChannelNumber) { - if (ChannelNumber == 0) + if (ChannelNumber == 0 + || State == Replay + || (State == Menu && LastState == Replay)) return; mutex.Lock();