neutrino.cpp: force adding shutdown event after record stop,

in case soft-standby by power key disabled but box mode switched to standby to finish record
This commit is contained in:
[CST] Focus
2015-01-15 15:26:52 +03:00
parent 1398736bd8
commit 0debbfcc7c
2 changed files with 10 additions and 3 deletions

View File

@@ -154,7 +154,6 @@ class CRCInput
int fd_max;
int clickfd;
bool firstKey;
__u16 rc_last_key;
void set_dsp();
@@ -284,6 +283,7 @@ class CRCInput
uint64_t repeat_block;
uint64_t repeat_block_generic;
bool firstKey;
CRCInput(); //constructor - opens rc-device and starts needed threads
~CRCInput(); //destructor - closes rc-device

View File

@@ -117,6 +117,7 @@
#include <system/sysload.h>
#include <timerdclient/timerdclient.h>
#include <timerd/timermanager.h>
#include <zapit/debug.h>
#include <zapit/zapit.h>
@@ -2746,8 +2747,14 @@ int CNeutrinoApp::handleMsg(const neutrino_msg_t _msg, neutrino_msg_data_t data)
/* shuts down the system even if !g_settings.shutdown_real_rcdelay (see below) */
gettimeofday(&standby_pressed_at, NULL);
if ((mode != mode_standby) && (g_settings.shutdown_real) && !recordingstatus) {
new_msg = NeutrinoMessages::SHUTDOWN;
if ((mode != mode_standby) && (g_settings.shutdown_real)) {
CRecordManager::getInstance()->StopAutoRecord();
if(CRecordManager::getInstance()->RecordingStatus()) {
new_msg = NeutrinoMessages::STANDBY_ON;
CTimerManager::getInstance()->wakeup = true;
g_RCInput->firstKey = false;
} else
new_msg = NeutrinoMessages::SHUTDOWN;
}
else {
new_msg = (mode == mode_standby) ? NeutrinoMessages::STANDBY_OFF : NeutrinoMessages::STANDBY_ON;