Ensure element presence is checked prior to its use (#1715)

This commit is contained in:
Michał Janiszewski 2021-10-18 20:14:04 -07:00 committed by GitHub
parent 51ef7e18bd
commit 82c4c9a227
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -141,7 +141,7 @@ public void OnScrollButtonsPlacementPropertyChanged(OverflowButtonPlacement oldV
public void UpdateScrollButtons() 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; return;
} }
@ -307,13 +307,16 @@ private void ScrollLeft()
private void ScrollRight() private void ScrollRight()
{ {
var realOffset = m_expressionContainer.HorizontalOffset + m_expressionContainer.Padding.Left + m_expressionContent.Margin.Left; if (m_expressionContainer != null && m_expressionContent != null)
if (m_expressionContainer != null && realOffset + m_expressionContainer.ActualWidth < m_expressionContent.ActualWidth)
{ {
double offset = m_expressionContainer.HorizontalOffset + (SCROLL_RATIO * m_expressionContainer.ViewportWidth); var realOffset = m_expressionContainer.HorizontalOffset + m_expressionContainer.Padding.Left + m_expressionContent.Margin.Left;
m_expressionContainer.ChangeView(offset, null, null); if (realOffset + m_expressionContainer.ActualWidth < m_expressionContent.ActualWidth)
m_expressionContainer.UpdateLayout(); {
UpdateScrollButtons(); double offset = m_expressionContainer.HorizontalOffset + (SCROLL_RATIO * m_expressionContainer.ViewportWidth);
m_expressionContainer.ChangeView(offset, null, null);
m_expressionContainer.UpdateLayout();
UpdateScrollButtons();
}
} }
} }