summaryrefslogtreecommitdiff
path: root/vcl/unx/gtk/a11y/atkaction.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/unx/gtk/a11y/atkaction.cxx')
-rw-r--r--vcl/unx/gtk/a11y/atkaction.cxx30
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 ));