From 6ee2fd816458289b299c46b48e79b1ce21f555dc Mon Sep 17 00:00:00 2001 From: "Aaron (Qilong)" Date: Mon, 17 Jun 2024 11:50:08 -0400 Subject: [PATCH] Arrange call crash guard --- src/DynamoCoreWpf/UI/InOutPortPanel.cs | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/DynamoCoreWpf/UI/InOutPortPanel.cs b/src/DynamoCoreWpf/UI/InOutPortPanel.cs index 52b949180b7..a58d7824271 100644 --- a/src/DynamoCoreWpf/UI/InOutPortPanel.cs +++ b/src/DynamoCoreWpf/UI/InOutPortPanel.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Windows; using System.Windows.Controls; @@ -26,14 +26,21 @@ protected override Size ArrangeOverride(Size arrangeSize) double x = 0, y = 0; foreach (UIElement child in this.Children) { - var portVm = generator.ItemFromContainer(child) as PortViewModel; - var lineIndex = portVm.PortModel.LineIndex; - var multiplier = ((lineIndex == -1) ? itemIndex : lineIndex); - var portHeight = portVm.PortModel.Height; + try + { + var portVm = generator.ItemFromContainer(child) as PortViewModel; + var lineIndex = portVm.PortModel.LineIndex; + var multiplier = ((lineIndex == -1) ? itemIndex : lineIndex); + var portHeight = portVm.PortModel.Height; - y = multiplier * portHeight; - child.Arrange(new Rect(x, y, arrangeSize.Width, portHeight)); - itemIndex = itemIndex + 1; + y = multiplier * portHeight; + child.Arrange(new Rect(x, y, arrangeSize.Width, portHeight)); + itemIndex = itemIndex + 1; + } + catch (Exception ex) + { + Analytics.TrackException(ex, true); + } } return base.ArrangeOverride(arrangeSize);