diff options
Diffstat (limited to 'vcl/unx/gtk/a11y/atkeditabletext.cxx')
-rw-r--r-- | vcl/unx/gtk/a11y/atkeditabletext.cxx | 45 |
1 files changed, 25 insertions, 20 deletions
diff --git a/vcl/unx/gtk/a11y/atkeditabletext.cxx b/vcl/unx/gtk/a11y/atkeditabletext.cxx index 82aebc76436c..cc058b5b1019 100644 --- a/vcl/unx/gtk/a11y/atkeditabletext.cxx +++ b/vcl/unx/gtk/a11y/atkeditabletext.cxx @@ -27,23 +27,21 @@ using namespace ::com::sun::star; -static accessibility::XAccessibleEditableText* +static css::uno::Reference<css::accessibility::XAccessibleEditableText> getEditableText( AtkEditableText *pEditableText ) throw (uno::RuntimeException) { AtkObjectWrapper *pWrap = ATK_OBJECT_WRAPPER( pEditableText ); if( pWrap ) { - if( !pWrap->mpEditableText && pWrap->mpContext ) + if( !pWrap->mpEditableText.is() ) { - uno::Any any = pWrap->mpContext->queryInterface( cppu::UnoType<accessibility::XAccessibleEditableText>::get() ); - pWrap->mpEditableText = static_cast< accessibility::XAccessibleEditableText * > (any.pReserved); - pWrap->mpEditableText->acquire(); + pWrap->mpEditableText.set(pWrap->mpContext, css::uno::UNO_QUERY); } return pWrap->mpEditableText; } - return NULL; + return css::uno::Reference<css::accessibility::XAccessibleEditableText>(); } /*****************************************************************************/ @@ -57,8 +55,9 @@ editable_text_wrapper_set_run_attributes( AtkEditableText *text, gint nEndOffset) { try { - accessibility::XAccessibleEditableText* pEditableText = getEditableText( text ); - if( pEditableText ) + css::uno::Reference<css::accessibility::XAccessibleEditableText> + pEditableText = getEditableText( text ); + if( pEditableText.is() ) { uno::Sequence< beans::PropertyValue > aAttributeList; @@ -78,8 +77,9 @@ editable_text_wrapper_set_text_contents( AtkEditableText *text, const gchar *string ) { try { - accessibility::XAccessibleEditableText* pEditableText = getEditableText( text ); - if( pEditableText ) + css::uno::Reference<css::accessibility::XAccessibleEditableText> + pEditableText = getEditableText( text ); + if( pEditableText.is() ) { OUString aString ( string, strlen(string), RTL_TEXTENCODING_UTF8 ); pEditableText->setText( aString ); @@ -97,8 +97,9 @@ editable_text_wrapper_insert_text( AtkEditableText *text, gint *pos ) { try { - accessibility::XAccessibleEditableText* pEditableText = getEditableText( text ); - if( pEditableText ) + css::uno::Reference<css::accessibility::XAccessibleEditableText> + pEditableText = getEditableText( text ); + if( pEditableText.is() ) { OUString aString ( string, length, RTL_TEXTENCODING_UTF8 ); if( pEditableText->insertText( aString, *pos ) ) @@ -116,8 +117,9 @@ editable_text_wrapper_cut_text( AtkEditableText *text, gint end ) { try { - accessibility::XAccessibleEditableText* pEditableText = getEditableText( text ); - if( pEditableText ) + css::uno::Reference<css::accessibility::XAccessibleEditableText> + pEditableText = getEditableText( text ); + if( pEditableText.is() ) pEditableText->cutText( start, end ); } catch(const uno::Exception&) { @@ -131,8 +133,9 @@ editable_text_wrapper_delete_text( AtkEditableText *text, gint end ) { try { - accessibility::XAccessibleEditableText* pEditableText = getEditableText( text ); - if( pEditableText ) + css::uno::Reference<css::accessibility::XAccessibleEditableText> + pEditableText = getEditableText( text ); + if( pEditableText.is() ) pEditableText->deleteText( start, end ); } catch(const uno::Exception&) { @@ -145,8 +148,9 @@ editable_text_wrapper_paste_text( AtkEditableText *text, gint pos ) { try { - accessibility::XAccessibleEditableText* pEditableText = getEditableText( text ); - if( pEditableText ) + css::uno::Reference<css::accessibility::XAccessibleEditableText> + pEditableText = getEditableText( text ); + if( pEditableText.is() ) pEditableText->pasteText( pos ); } catch(const uno::Exception&) { @@ -160,8 +164,9 @@ editable_text_wrapper_copy_text( AtkEditableText *text, gint end ) { try { - accessibility::XAccessibleEditableText* pEditableText = getEditableText( text ); - if( pEditableText ) + css::uno::Reference<css::accessibility::XAccessibleEditableText> + pEditableText = getEditableText( text ); + if( pEditableText.is() ) pEditableText->copyText( start, end ); } catch(const uno::Exception&) { |