summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--myreplaycontrol.c12
-rw-r--r--myreplaycontrol.h1
2 files changed, 9 insertions, 4 deletions
diff --git a/myreplaycontrol.c b/myreplaycontrol.c
index 856ccf4..0e472ed 100644
--- a/myreplaycontrol.c
+++ b/myreplaycontrol.c
@@ -16,16 +16,19 @@ using namespace std;
myReplayControl::myReplayControl()
{
timesearchactive=false;
+ lastState = osUnknown;
}
myReplayControl::~myReplayControl()
{
- if(mysetup.ReturnToPlugin)
+ if(lastState == osRecordings && mysetup.ReturnToPlugin)
cRemote::CallPlugin("extrecmenu");
}
eOSState myReplayControl::ProcessKey(eKeys Key)
{
+ lastState = osUnknown;
+
if(Key!=kNone)
{
if(timesearchactive && mysetup.UseCutterQueue)
@@ -69,10 +72,11 @@ eOSState myReplayControl::ProcessKey(eKeys Key)
if(Key==kRed)
timesearchactive=true;
}
- if(Key==kBack)
- return osEnd;
}
}
- return cReplayControl::ProcessKey(Key);
+ lastState = cReplayControl::ProcessKey(Key);
+ if(lastState == osRecordings && mysetup.ReturnToPlugin == 0)
+ lastState = osEnd;
+ return lastState;
}
diff --git a/myreplaycontrol.h b/myreplaycontrol.h
index 85bc179..ae4a9c0 100644
--- a/myreplaycontrol.h
+++ b/myreplaycontrol.h
@@ -2,6 +2,7 @@ class myReplayControl:public cReplayControl
{
private:
bool timesearchactive;
+ eOSState lastState;
public:
myReplayControl();
~myReplayControl();