From 82c4c9a22786e7cc9d6f70daf6623effcf7d420f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Janiszewski?= Date: Mon, 18 Oct 2021 20:14:04 -0700 Subject: [PATCH] Ensure element presence is checked prior to its use (#1715) --- src/Calculator/Controls/OverflowTextBlock.cs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/Calculator/Controls/OverflowTextBlock.cs b/src/Calculator/Controls/OverflowTextBlock.cs index 3f69a75..91ae38e 100644 --- a/src/Calculator/Controls/OverflowTextBlock.cs +++ b/src/Calculator/Controls/OverflowTextBlock.cs @@ -141,7 +141,7 @@ public void OnScrollButtonsPlacementPropertyChanged(OverflowButtonPlacement oldV public void UpdateScrollButtons() { - if (m_expressionContainer == null || m_scrollLeft == null || m_scrollRight == null) + if (m_expressionContent == null || m_expressionContainer == null || m_scrollLeft == null || m_scrollRight == null) { return; } @@ -307,13 +307,16 @@ private void ScrollLeft() private void ScrollRight() { - var realOffset = m_expressionContainer.HorizontalOffset + m_expressionContainer.Padding.Left + m_expressionContent.Margin.Left; - if (m_expressionContainer != null && realOffset + m_expressionContainer.ActualWidth < m_expressionContent.ActualWidth) + if (m_expressionContainer != null && m_expressionContent != null) { - double offset = m_expressionContainer.HorizontalOffset + (SCROLL_RATIO * m_expressionContainer.ViewportWidth); - m_expressionContainer.ChangeView(offset, null, null); - m_expressionContainer.UpdateLayout(); - UpdateScrollButtons(); + var realOffset = m_expressionContainer.HorizontalOffset + m_expressionContainer.Padding.Left + m_expressionContent.Margin.Left; + if (realOffset + m_expressionContainer.ActualWidth < m_expressionContent.ActualWidth) + { + double offset = m_expressionContainer.HorizontalOffset + (SCROLL_RATIO * m_expressionContainer.ViewportWidth); + m_expressionContainer.ChangeView(offset, null, null); + m_expressionContainer.UpdateLayout(); + UpdateScrollButtons(); + } } }