From fa553b3538ac0c0098ba70d73e9aeff3e7932c88 Mon Sep 17 00:00:00 2001 From: Jan Holesovsky Date: Mon, 2 Dec 2019 11:32:45 +0100 Subject: android: Actually let's avoid the exceptions via bridges only on aarch4. Change-Id: Id2830f09ca6afd11f6f866565f37bdb7ba45bfb1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/84205 Tested-by: Jenkins Reviewed-by: Andras Timar --- cppuhelper/source/exc_thrower.cxx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'cppuhelper') diff --git a/cppuhelper/source/exc_thrower.cxx b/cppuhelper/source/exc_thrower.cxx index a0e7fb32b046..b09d9b7b75e3 100644 --- a/cppuhelper/source/exc_thrower.cxx +++ b/cppuhelper/source/exc_thrower.cxx @@ -173,7 +173,7 @@ ExceptionThrower::ExceptionThrower() class theExceptionThrower : public rtl::Static {}; -#if defined(IOS) || HAVE_FEATURE_ANDROID_LOK +#if defined(IOS) || (defined(__aarch64__) && HAVE_FEATURE_ANDROID_LOK) // In the native iOS / Android app, where we don't have any Java, Python, // BASIC, or other scripting, the only thing that would use the C++/UNO bridge // functionality that invokes codeSnippet() was cppu::throwException(). @@ -211,7 +211,7 @@ void lo_mobile_throwException(css::uno::Any const& aException) assert(false); } -#endif // defined(IOS) || HAVE_FEATURE_ANDROID_LOK +#endif // defined(IOS) || (defined(__aarch64__) && HAVE_FEATURE_ANDROID_LOK) } // anonymous namespace @@ -229,7 +229,7 @@ void SAL_CALL throwException( Any const & exc ) "(must be derived from com::sun::star::uno::Exception)!" ); } -#if defined(IOS) || HAVE_FEATURE_ANDROID_LOK +#if defined(IOS) || (defined(__aarch64__) && HAVE_FEATURE_ANDROID_LOK) lo_mobile_throwException(exc); #else Mapping uno2cpp(Environment(UNO_LB_UNO), Environment::getCurrent()); @@ -252,7 +252,9 @@ void SAL_CALL throwException( Any const & exc ) Any SAL_CALL getCaughtException() { -#if HAVE_FEATURE_ANDROID_LOK +#if defined(__aarch64__) && HAVE_FEATURE_ANDROID_LOK + // FIXME This stuff works on 32bit ARM, let's use the shortcut only for + // the 64bit ARM. return Any(); #else Mapping cpp2uno(Environment::getCurrent(), Environment(UNO_LB_UNO)); -- cgit