On Sat, Aug 06, 2005 at 12:43:53PM +0200, Klaus Schmidinger wrote: > The way you have done this there will _always_ be a cControl::Shutdown(). > Could it be that you wanted was to have _no_ cControl::Shutdown() in case > there is a recording going on, but the user didn't confirm the > "Recording - shut down anyway?" prompt? In that case you should have added > braces around the 'if' block, as in > > if (Interface->Confirm(tr("Recording - shut down anyway?"))) { > ForceShutdown = true; > cControl::Shutdown(); > } > > Please try it that way and let me know. My bad, I was confused by the indentation of the closing brace. I am used to indenting the closing brace by one fewer level. The attached patch avoids the cControl::Shutdown() if the prompt is not confirmed. It would be even better to add a "confirm shutdown" prompt in the case that no recording is active, but a recorded stream is being played back when hitting the Power key. It can be confusing that the Power key stops recorded playback but not live playback. I'd rather display the "press any key to cancel shutdown" prompt and keep playing back the recorded stream. Alas, I do not know how to achieve that; maybe it would require some more inter-thread communication. Marko -------------- next part -------------- --- vdr.c.orig 2005-06-18 14:19:07.000000000 +0300 +++ vdr.c 2005-08-07 01:08:04.000000000 +0300 @@ -739,9 +739,13 @@ break; } if (cRecordControls::Active()) { - if (Interface->Confirm(tr("Recording - shut down anyway?"))) + if (Interface->Confirm(tr("Recording - shut down anyway?"))) { ForceShutdown = true; + cControl::Shutdown(); + } } + else + cControl::Shutdown(); LastActivity = 1; // not 0, see below! UserShutdown = true; break;