mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-01-11 19:44:52 +00:00
fix: update DMPS InputChange event handler
In some configurations, the InputChange handler can throw a null reference exception due to a Feedback for the input that triggered the event not existing. The event handler now checks for the existence of a Feedback for the input that triggered the event prior to attempting to call the `FireUpdate` method. Addresses #1136
This commit is contained in:
@@ -991,28 +991,41 @@ namespace PepperDash.Essentials.DM
|
||||
case (DMInputEventIds.OnlineFeedbackEventId):
|
||||
{
|
||||
Debug.Console(2, this, "DM Input OnlineFeedbackEventId for input: {0}. State: {1}", args.Number, device.Inputs[args.Number].EndpointOnlineFeedback);
|
||||
InputEndpointOnlineFeedbacks[args.Number].FireUpdate();
|
||||
|
||||
if(!InputEndpointOnlineFeedbacks.ContainsKey(args.Number)){
|
||||
break;
|
||||
}
|
||||
InputEndpointOnlineFeedbacks[args.Number].FireUpdate();
|
||||
break;
|
||||
}
|
||||
case (DMInputEventIds.EndpointOnlineEventId):
|
||||
{
|
||||
Debug.Console(2, this, "DM Input EndpointOnlineEventId for input: {0}. State: {1}", args.Number, device.Inputs[args.Number].EndpointOnlineFeedback);
|
||||
|
||||
if(!InputEndpointOnlineFeedbacks.ContainsKey(args.Number)){
|
||||
break;
|
||||
}
|
||||
InputEndpointOnlineFeedbacks[args.Number].FireUpdate();
|
||||
break;
|
||||
}
|
||||
case (DMInputEventIds.VideoDetectedEventId):
|
||||
{
|
||||
Debug.Console(2, this, "DM Input {0} VideoDetectedEventId", args.Number);
|
||||
|
||||
if(!VideoInputSyncFeedbacks.ContainsKey(args.Number)){
|
||||
break;
|
||||
}
|
||||
VideoInputSyncFeedbacks[args.Number].FireUpdate();
|
||||
break;
|
||||
}
|
||||
case (DMInputEventIds.InputNameEventId):
|
||||
{
|
||||
Debug.Console(2, this, "DM Input {0} NameFeedbackEventId", args.Number);
|
||||
if(InputNameFeedbacks.ContainsKey(args.Number))
|
||||
if(!InputNameFeedbacks.ContainsKey(args.Number))
|
||||
{
|
||||
InputNameFeedbacks[args.Number].FireUpdate();
|
||||
break;
|
||||
}
|
||||
InputNameFeedbacks[args.Number].FireUpdate();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user