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