From b9e6e386dae199fe5bcd7cd203ada0e1c509f5c8 Mon Sep 17 00:00:00 2001 From: Lars Op den Kamp Date: Fri, 13 Dec 2013 10:50:11 +0100 Subject: [PATCH] don't crash on exit in cectray by preventing a new action from being started --- src/LibCecTray/controller/Actions.cs | 3 ++- src/LibCecTray/ui/CECTray.cs | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/LibCecTray/controller/Actions.cs b/src/LibCecTray/controller/Actions.cs index 13dc920..2970ede 100644 --- a/src/LibCecTray/controller/Actions.cs +++ b/src/LibCecTray/controller/Actions.cs @@ -94,7 +94,7 @@ namespace LibCECTray.controller _controller.CheckActiveDevices(); break; case UpdateEventType.ProcessCompleted: - if (!(_activeProcess is GetCurrentPhysicalAddress)) + if (!(_activeProcess is GetCurrentPhysicalAddress) && !SuppressUpdates) { _activeProcess = new GetCurrentPhysicalAddress(_controller.Lib); _activeProcess.EventHandler += ProcessEventHandler; @@ -123,6 +123,7 @@ namespace LibCECTray.controller break; case UpdateEventType.ExitApplication: + SuppressUpdates = true; _activeProcess = null; Application.Exit(); break; diff --git a/src/LibCecTray/ui/CECTray.cs b/src/LibCecTray/ui/CECTray.cs index ab04662..8df996e 100644 --- a/src/LibCecTray/ui/CECTray.cs +++ b/src/LibCecTray/ui/CECTray.cs @@ -79,6 +79,7 @@ namespace LibCECTray.ui public void OnSessionEnding(object sender, SessionEndingEventArgs e) { + Controller.CECActions.SuppressUpdates = true; Controller.Close(); } @@ -175,6 +176,7 @@ namespace LibCECTray.ui Hide(); if (disposing) { + Controller.CECActions.SuppressUpdates = true; Controller.Close(); } if (disposing && (components != null)) -- 2.34.1