From 835fcfacc66601299aa73cd5423e8277ccd8fc34 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Fri, 3 Apr 2015 14:18:04 +0100 Subject: Related: tdf#82998 assume VALUE_CHANGED makes sense only for windows jdiggs: I believe [VALUE_CHANGED] is expected for Windows' accessibility APIs. However for ATK/AT-SPI2, value-change events are expected only for the sorts of things which implement AtkValue (scrollbars, progressbars, sliders, spinbuttons, etc.) Combo boxes, lists, and the like should not be emitting this event. Change-Id: I9dcab7fb4004a24f88915f904eb508dfee2d4ae5 --- accessibility/source/standard/vclxaccessiblebox.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/accessibility/source/standard/vclxaccessiblebox.cxx b/accessibility/source/standard/vclxaccessiblebox.cxx index 2519087c9583..15e3829dc202 100644 --- a/accessibility/source/standard/vclxaccessiblebox.cxx +++ b/accessibility/source/standard/vclxaccessiblebox.cxx @@ -124,10 +124,12 @@ void VCLXAccessibleBox::ProcessWindowEvent (const VclWindowEvent& rVclWindowEven if ( pList != NULL ) { pList->ProcessWindowEvent (rVclWindowEvent, m_bIsDropDownBox); +#if defined WNT if (m_bIsDropDownBox) { NotifyAccessibleEvent(AccessibleEventId::VALUE_CHANGED, Any(), Any()); } +#endif } break; } @@ -179,8 +181,10 @@ void VCLXAccessibleBox::ProcessWindowEvent (const VclWindowEvent& rVclWindowEven if ( sText.isEmpty() ) sText = xText->getText(); pList->UpdateSelection_Acc(sText, m_bIsDropDownBox); +#if defined WNT if (m_bIsDropDownBox || ( !m_bIsDropDownBox && m_aBoxType==COMBOBOX)) NotifyAccessibleEvent(AccessibleEventId::VALUE_CHANGED, Any(), Any()); +#endif } } break; @@ -545,7 +549,7 @@ void VCLXAccessibleBox::FillAccessibleStateSet( utl::AccessibleStateSetHelper& r ListBox* pListBox = static_cast< ListBox* >( GetWindow() ); if (pListBox != NULL && pListBox->GetEntryCount() > 0) { - nSelectedEntryCount = pListBox->GetSelectEntryCount(); + nSelectedEntryCount = pListBox->GetSelectEntryCount(); if ( nSelectedEntryCount == 0) rStateSet.AddState(AccessibleStateType::INDETERMINATE); } -- cgit