diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-11-04 09:40:35 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-11-04 11:52:59 +0100 |
commit | aedd2198ee2d9a12eeacf15f6bdf3a0c5a4e267c (patch) | |
tree | 2597e684bb76c5183d7ab3e900db689be6746576 /vcl | |
parent | d13cda5236596386cfd3ddaf90b0c5a1ae4cc60d (diff) |
survive missing atk_object_set_accessible_id symbol
Change-Id: If18380dfe3ab17a4584602869928b3ff50fc15d6
Reviewed-on: https://gerrit.libreoffice.org/81987
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/unx/gtk3/a11y/gtk3atkwrapper.cxx | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/vcl/unx/gtk3/a11y/gtk3atkwrapper.cxx b/vcl/unx/gtk3/a11y/gtk3atkwrapper.cxx index 15e2b2af08a9..ab011d9d0925 100644 --- a/vcl/unx/gtk3/a11y/gtk3atkwrapper.cxx +++ b/vcl/unx/gtk3/a11y/gtk3atkwrapper.cxx @@ -50,6 +50,7 @@ #include "atktextattributes.hxx" #include <vector> +#include <dlfcn.h> using namespace ::com::sun::star; @@ -862,16 +863,16 @@ atk_object_wrapper_new( const css::uno::Reference< css::accessibility::XAccessib OSL_ASSERT( false ); } -#if ATK_CHECK_VERSION(2,33,1) + static auto func = reinterpret_cast<void(*)(AtkObject*, const gchar*)>(dlsym(nullptr, "atk_object_set_accessible_id")); + if (func) { css::uno::Reference<css::accessibility::XAccessibleContext2> xContext2(xContext, css::uno::UNO_QUERY); if( xContext2.is() ) { OString aId = OUStringToOString( xContext2->getAccessibleId(), RTL_TEXTENCODING_UTF8); - atk_object_set_accessible_id(atk_obj, aId.getStr()); + (*func)(atk_obj, aId.getStr()); } } -#endif return ATK_OBJECT( pWrap ); } |