[vdr] [PATCH] obey Power key while replaying a recording

Marko Mäkelä marko.makela at hut.fi
Sun Aug 7 00:25:21 CEST 2005


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;


More information about the vdr mailing list