X-Git-Url: https://git.piment-noir.org/?p=deb_libcec.git;a=blobdiff_plain;f=src%2FLibCecTray%2Fui%2FCECTray.cs;h=3f7c09422aa0a86e9aa21ab2da6714c135ccdf44;hp=bf4e05a746af9a0282af435e19f08a4d289767eb;hb=8fad0fe870edcd90e4788d8b56da80ab29c9e016;hpb=dd36a9277ed78c09ffbf195353dfcc078c73e806 diff --git a/src/LibCecTray/ui/CECTray.cs b/src/LibCecTray/ui/CECTray.cs index bf4e05a..3f7c094 100644 --- a/src/LibCecTray/ui/CECTray.cs +++ b/src/LibCecTray/ui/CECTray.cs @@ -55,7 +55,7 @@ namespace LibCECTray.ui Text = Resources.app_name; InitializeComponent(); - _sstimer.Interval = 1000; + _sstimer.Interval = 5000; _sstimer.Tick += ScreensaverActiveCheck; _sstimer.Enabled = false; @@ -112,9 +112,11 @@ namespace LibCECTray.ui if (msg.Msg == WM_SYSCOMMAND && (msg.WParam.ToInt32() & 0xfff0) == SC_SCREENSAVE) { // there's no event for screensaver exit - _sstimer.Enabled = true; - OnSleep(); - return; + if (!_sstimer.Enabled) + { + _sstimer.Enabled = true; + Controller.CECActions.SendStandby(CecLogicalAddress.Broadcast); + } } else if (msg.Msg == WM_POWERBROADCAST) { @@ -164,7 +166,7 @@ namespace LibCECTray.ui if (!IsScreensaverActive()) { _sstimer.Enabled = false; - OnWake(); + Controller.CECActions.ActivateSource(); } } @@ -182,7 +184,9 @@ namespace LibCECTray.ui private void OnSleep() { - Controller.Close(); + Controller.CECActions.SuppressUpdates = true; + AsyncDisconnect dc = new AsyncDisconnect(Controller); + (new Thread(dc.Process)).Start(); } public override sealed string Text @@ -201,9 +205,7 @@ namespace LibCECTray.ui Hide(); if (disposing) { - Controller.CECActions.SuppressUpdates = true; - AsyncDisconnect dc = new AsyncDisconnect(Controller); - (new Thread(dc.Process)).Start(); + OnSleep(); } if (disposing && (components != null)) { @@ -299,7 +301,7 @@ namespace LibCECTray.ui private void BActivateSourceClick(object sender, EventArgs e) { - Controller.CECActions.ActivateSource(GetTargetDevice()); + Controller.CECActions.SetStreamPath(GetTargetDevice()); } private void CbCommandDestinationSelectedIndexChanged(object sender, EventArgs e)