| Index: xfa/fwl/core/cfwl_listbox.cpp | 
| diff --git a/xfa/fwl/core/cfwl_listbox.cpp b/xfa/fwl/core/cfwl_listbox.cpp | 
| index be9e8b93955b6fc4bd0ea724d37bc8f3afaf426c..7589623e51fc12afd2e3bcc5aad7d93c8d299040 100644 | 
| --- a/xfa/fwl/core/cfwl_listbox.cpp | 
| +++ b/xfa/fwl/core/cfwl_listbox.cpp | 
| @@ -96,13 +96,13 @@ void CFWL_ListBox::Update() { | 
| FWL_WidgetHit CFWL_ListBox::HitTest(FX_FLOAT fx, FX_FLOAT fy) { | 
| if (IsShowScrollBar(false)) { | 
| CFX_RectF rect; | 
| -    m_pHorzScrollBar->GetWidgetRect(rect); | 
| +    m_pHorzScrollBar->GetWidgetRect(rect, false); | 
| if (rect.Contains(fx, fy)) | 
| return FWL_WidgetHit::HScrollBar; | 
| } | 
| if (IsShowScrollBar(true)) { | 
| CFX_RectF rect; | 
| -    m_pVertScrollBar->GetWidgetRect(rect); | 
| +    m_pVertScrollBar->GetWidgetRect(rect, false); | 
| if (rect.Contains(fx, fy)) | 
| return FWL_WidgetHit::VScrollBar; | 
| } | 
| @@ -645,13 +645,13 @@ CFX_SizeF CFWL_ListBox::CalcSize(bool bAutoSize) { | 
| if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_LTB_ShowScrollBarFocus) == | 
| 0 || | 
| (m_pProperties->m_dwStates & FWL_WGTSTATE_Focused)) { | 
| -      m_pVertScrollBar->SetStates(FWL_WGTSTATE_Invisible, false); | 
| +      m_pVertScrollBar->RemoveStates(FWL_WGTSTATE_Invisible); | 
| } | 
| m_pVertScrollBar->Update(); | 
| } else if (m_pVertScrollBar) { | 
| m_pVertScrollBar->SetPos(0); | 
| m_pVertScrollBar->SetTrackPos(0); | 
| -    m_pVertScrollBar->SetStates(FWL_WGTSTATE_Invisible, true); | 
| +    m_pVertScrollBar->SetStates(FWL_WGTSTATE_Invisible); | 
| } | 
| if (bShowHorzScr) { | 
| if (!m_pHorzScrollBar) | 
| @@ -676,13 +676,13 @@ CFX_SizeF CFWL_ListBox::CalcSize(bool bAutoSize) { | 
| if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_LTB_ShowScrollBarFocus) == | 
| 0 || | 
| (m_pProperties->m_dwStates & FWL_WGTSTATE_Focused)) { | 
| -      m_pHorzScrollBar->SetStates(FWL_WGTSTATE_Invisible, false); | 
| +      m_pHorzScrollBar->RemoveStates(FWL_WGTSTATE_Invisible); | 
| } | 
| m_pHorzScrollBar->Update(); | 
| } else if (m_pHorzScrollBar) { | 
| m_pHorzScrollBar->SetPos(0); | 
| m_pHorzScrollBar->SetTrackPos(0); | 
| -    m_pHorzScrollBar->SetStates(FWL_WGTSTATE_Invisible, true); | 
| +    m_pHorzScrollBar->SetStates(FWL_WGTSTATE_Invisible); | 
| } | 
| if (bShowVertScr && bShowHorzScr) { | 
| m_rtStatic.Set(m_rtClient.right() - m_fScorllBarWidth, | 
| @@ -830,10 +830,18 @@ void CFWL_ListBox::OnDrawWidget(CFX_Graphics* pGraphics, | 
|  | 
| void CFWL_ListBox::OnFocusChanged(CFWL_Message* pMsg, bool bSet) { | 
| if (GetStylesEx() & FWL_STYLEEXT_LTB_ShowScrollBarFocus) { | 
| -    if (m_pVertScrollBar) | 
| -      m_pVertScrollBar->SetStates(FWL_WGTSTATE_Invisible, !bSet); | 
| -    if (m_pHorzScrollBar) | 
| -      m_pHorzScrollBar->SetStates(FWL_WGTSTATE_Invisible, !bSet); | 
| +    if (m_pVertScrollBar) { | 
| +      if (bSet) | 
| +        m_pVertScrollBar->RemoveStates(FWL_WGTSTATE_Invisible); | 
| +      else | 
| +        m_pVertScrollBar->SetStates(FWL_WGTSTATE_Invisible); | 
| +    } | 
| +    if (m_pHorzScrollBar) { | 
| +      if (bSet) | 
| +        m_pHorzScrollBar->RemoveStates(FWL_WGTSTATE_Invisible); | 
| +      else | 
| +        m_pHorzScrollBar->SetStates(FWL_WGTSTATE_Invisible); | 
| +    } | 
| } | 
| if (bSet) | 
| m_pProperties->m_dwStates |= (FWL_WGTSTATE_Focused); | 
|  |