summaryrefslogtreecommitdiff
path: root/cppuhelper
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@collabora.com>2019-12-02 11:32:45 +0100
committerAndras Timar <andras.timar@collabora.com>2020-02-11 15:24:34 +0100
commitf2f8a2ec10d87ffb23949338a9e4da1e1d704644 (patch)
tree0154372ec96df34c527f5cb199bc66a9dfcf4b6c /cppuhelper
parent2c86f1981c9a6f24d5c33c5eede2cd15ce6f29e3 (diff)
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 <andras.timar@collabora.com>
Diffstat (limited to 'cppuhelper')
-rw-r--r--cppuhelper/source/exc_thrower.cxx10
1 files changed, 6 insertions, 4 deletions
diff --git a/cppuhelper/source/exc_thrower.cxx b/cppuhelper/source/exc_thrower.cxx
index 253e484e1236..5fa7c7330fe5 100644
--- a/cppuhelper/source/exc_thrower.cxx
+++ b/cppuhelper/source/exc_thrower.cxx
@@ -173,7 +173,7 @@ ExceptionThrower::ExceptionThrower()
class theExceptionThrower : public rtl::Static<ExceptionThrower, theExceptionThrower> {};
-#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));