From patchwork Sat Apr 29 02:14:28 2006 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Udo Richter X-Patchwork-Id: 12282 Received: from mail.gmx.net ([213.165.64.20]) by www.linuxtv.org with smtp (Exim 4.50) id 1FZf1F-0003sL-Ve for vdr@linuxtv.org; Sat, 29 Apr 2006 04:17:13 +0200 Received: (qmail invoked by alias); 29 Apr 2006 02:16:43 -0000 Received: from p548A0648.dip0.t-ipconnect.de (EHLO [192.168.73.1]) [84.138.6.72] by mail.gmx.net (mp035) with SMTP; 29 Apr 2006 04:16:43 +0200 X-Authenticated: #1417946 Message-ID: <4452CC04.9090402@gmx.de> Date: Sat, 29 Apr 2006 04:14:28 +0200 From: Udo Richter User-Agent: Thunderbird 2.0a1 (Windows/20060428) MIME-Version: 1.0 To: VDR Mailing List Subject: Re: [vdr] [ANNOUNCE] VDR developer version 1.3.49 References: <44521D96.3060101@cadsoft.de> In-Reply-To: X-Y-GMX-Trusted: 0 X-BeenThere: vdr@linuxtv.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: VDR Mailing List List-Id: VDR Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 29 Apr 2006 02:17:14 -0000 Status: O X-Status: X-Keywords: X-UID: 9125 Dominique Simon wrote: > I have the following problem: If a timer is running and i press power > off on the remote, VDR shows "eine Aufzeichnung läuft, trotzdem > ausschalten?". VDR Shuts down no matter if i press a key or not... Can > you verify this? Yes, there's still a logical bug in it... The 1.3.49 code shuts down if the recording shut down is confirmed *OR* if the plugin shut down is confirmed. Unfortunately, if no plugin has activity, this counts as confirmed, so VDR will shut down no matter if recording shut down was confirmed or not. The attached patch reverses the logic a bit, and shuts down if recordings *AND* plugins confirm. UserShutdown is set up first, so that any non-confirm can leave with 'break'. If all tests pass, ForceShutdown is set too. I've tested all variants I can think of, and it seems to work. More testing is of course welcome, so we can mark this one fixed before Sunday. Btw: There's a slight change in behavior since 1.3.46: Before, a simple shut down without confirms did not set ForceShutdown=true, since then, ForceShutdown is set true even if no confirmation was necessary. cPluginManager::Active does not differentiate between confirmed, denied and 'no activity'. The new way is slightly more aggressive, but seems more consistent and I don't think that it has bigger negative side effects. (1.3.49 can shut down while cutting, 1.3.46 can shut down while cutting only if also a recording is running, and shutdown is confirmed.) Cheers, Udo --- vdr-1.3.49-orig/vdr.c 2006-04-28 15:23:55.000000000 +0200 +++ vdr-1.3.49/vdr.c 2006-04-29 03:20:25.876919696 +0200 @@ -976,14 +971,15 @@ Skins.Message(mtError, tr("Can't shutdown - option '-s' not given!")); break; } - if (cRecordControls::Active()) { - if (Interface->Confirm(tr("Recording - shut down anyway?"))) - ForceShutdown = true; - } - if (!cPluginManager::Active(tr("shut down anyway?"))) - ForceShutdown = true; LastActivity = 1; // not 0, see below! UserShutdown = true; + if (cRecordControls::Active()) { + if (!Interface->Confirm(tr("Recording - shut down anyway?"))) + break; + } + if (cPluginManager::Active(tr("shut down anyway?"))) + break; + ForceShutdown = true; break; default: break; }