diff options
Diffstat (limited to 'vcl/unx/gtk/a11y/atkaction.cxx')
-rw-r--r-- | vcl/unx/gtk/a11y/atkaction.cxx | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/vcl/unx/gtk/a11y/atkaction.cxx b/vcl/unx/gtk/a11y/atkaction.cxx index 41c6e36d5be6..71ada32ec8c9 100644 --- a/vcl/unx/gtk/a11y/atkaction.cxx +++ b/vcl/unx/gtk/a11y/atkaction.cxx @@ -43,24 +43,22 @@ getAsConst( const OString& rString ) return aUgly[ nIdx ].getStr(); } -static accessibility::XAccessibleAction* +static css::uno::Reference<css::accessibility::XAccessibleAction> getAction( AtkAction *action ) throw (uno::RuntimeException) { AtkObjectWrapper *pWrap = ATK_OBJECT_WRAPPER( action ); if( pWrap ) { - if( !pWrap->mpAction && pWrap->mpContext ) + if( !pWrap->mpAction.is() ) { - uno::Any any = pWrap->mpContext->queryInterface( cppu::UnoType<accessibility::XAccessibleAction>::get() ); - pWrap->mpAction = static_cast< accessibility::XAccessibleAction * > (any.pReserved); - pWrap->mpAction->acquire(); + pWrap->mpAction.set(pWrap->mpContext, css::uno::UNO_QUERY); } return pWrap->mpAction; } - return NULL; + return css::uno::Reference<css::accessibility::XAccessibleAction>(); } extern "C" { @@ -70,8 +68,9 @@ action_wrapper_do_action (AtkAction *action, gint i) { try { - accessibility::XAccessibleAction* pAction = getAction( action ); - if( pAction ) + css::uno::Reference<css::accessibility::XAccessibleAction> pAction + = getAction( action ); + if( pAction.is() ) return pAction->doAccessibleAction( i ); } catch(const uno::Exception&) { @@ -85,8 +84,9 @@ static gint action_wrapper_get_n_actions (AtkAction *action) { try { - accessibility::XAccessibleAction* pAction = getAction( action ); - if( pAction ) + css::uno::Reference<css::accessibility::XAccessibleAction> pAction + = getAction( action ); + if( pAction.is() ) return pAction->getAccessibleActionCount(); } catch(const uno::Exception&) { @@ -129,8 +129,9 @@ action_wrapper_get_name (AtkAction *action, } try { - accessibility::XAccessibleAction* pAction = getAction( action ); - if( pAction ) + css::uno::Reference<css::accessibility::XAccessibleAction> pAction + = getAction( action ); + if( pAction.is() ) { std::map< OUString, const gchar * >::iterator iter; @@ -211,8 +212,9 @@ action_wrapper_get_keybinding (AtkAction *action, gint i) { try { - accessibility::XAccessibleAction* pAction = getAction( action ); - if( pAction ) + css::uno::Reference<css::accessibility::XAccessibleAction> pAction + = getAction( action ); + if( pAction.is() ) { uno::Reference< accessibility::XAccessibleKeyBinding > xBinding( pAction->getAccessibleActionKeyBinding( i )); |