using Microsoft.Win32;
using System.Security.Permissions;
using System.Runtime.InteropServices;
+using System.Threading;
namespace LibCECTray.ui
{
XBMC
}
+ class AsyncDisconnect
+ {
+ public AsyncDisconnect(CECController controller)
+ {
+ _controller = controller;
+ }
+
+ public void Process()
+ {
+ _controller.Close();
+ }
+
+ private CECController _controller;
+ }
+
/// <summary>
/// Main LibCecTray GUI
/// </summary>
public void OnSessionEnding(object sender, SessionEndingEventArgs e)
{
+ Controller.CECActions.SuppressUpdates = true;
Controller.Close();
}
Hide();
if (disposing)
{
- Controller.Close();
+ Controller.CECActions.SuppressUpdates = true;
+ AsyncDisconnect dc = new AsyncDisconnect(Controller);
+ (new Thread(dc.Process)).Start();
}
if (disposing && (components != null))
{