diff options
Diffstat (limited to 'vcl/source/app/unohelp.cxx')
-rw-r--r-- | vcl/source/app/unohelp.cxx | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/vcl/source/app/unohelp.cxx b/vcl/source/app/unohelp.cxx index 6d9e6f31abe5..f08e54131259 100644 --- a/vcl/source/app/unohelp.cxx +++ b/vcl/source/app/unohelp.cxx @@ -48,20 +48,19 @@ uno::Reference < i18n::XCharacterClassification > vcl::unohelper::CreateCharacte void vcl::unohelper::NotifyAccessibleStateEventGlobally( const css::accessibility::AccessibleEventObject& rEventObject ) { css::uno::Reference< css::awt::XExtendedToolkit > xExtToolkit( Application::GetVCLToolkit(), uno::UNO_QUERY ); - if ( xExtToolkit.is() ) + if ( !xExtToolkit.is() ) + return; + + // Only for focus events + sal_Int16 nType = css::accessibility::AccessibleStateType::INVALID; + rEventObject.NewValue >>= nType; + if ( nType == css::accessibility::AccessibleStateType::FOCUSED ) + xExtToolkit->fireFocusGained( rEventObject.Source ); + else { - // Only for focus events - sal_Int16 nType = css::accessibility::AccessibleStateType::INVALID; - rEventObject.NewValue >>= nType; + rEventObject.OldValue >>= nType; if ( nType == css::accessibility::AccessibleStateType::FOCUSED ) - xExtToolkit->fireFocusGained( rEventObject.Source ); - else - { - rEventObject.OldValue >>= nType; - if ( nType == css::accessibility::AccessibleStateType::FOCUSED ) - xExtToolkit->fireFocusLost( rEventObject.Source ); - } - + xExtToolkit->fireFocusLost( rEventObject.Source ); } } |