cpp2uno throw problems.

jan iversen jancasacondor at gmail.com
Sun Feb 18 15:44:46 UTC 2018


Hi

I am trying to get iOS to work on a device and not only in the simulator. I
am stuck in a cpp_uno call, which acts very strangely during documentLoad

The simulator (which is compiled as macosx just with iOS libraries loads
the document without problems, but on the device the same code makes a
throw.

I have debugged the 2 "versions", and found the exact point where they
differentiate, however that is a statement, I have problems understanding.

I am in DocumentLoad, LoadEnv

frame.cxx, 1270,  implts_sendFrameActionEvent(
css::frame::FrameAction_FRAME_ACTIVATED );
cpp2uno.cxx, 204 (Mac version) CPPU_CURRENT_NAMESPACE::raiseException(
&aUnoExc, pThis->getBridge()->getUno2Cpp() ); // has to destruct the any
except.cxx, 290 (Mac version) void raiseException( uno_Any * pUnoExc,
uno_Mapping * pUno2Cpp )

line 341 in raisException: __cxxabiv1::__cxa_throw( pCppExc, rtti,
deleteException );

calls:

exc_thrower.cxx, 205, Any SAL_CALL getCaughtException()

and then

uno2cpp.cxx, 305, unoInterfaceProxyDispatch()
as expected.


Doing the same on the device, everything is identical until
line 341 in raisException: __cxxabiv1::__cxa_throw( pCppExc, rtti,
deleteException );

which throws an exception that ends up in LoadEnv::~LoadEnv().

can somebody please help me under the line __cxxabiv1::__cxa_throw(
pCppExc, rtti, deleteException );
how it in one enviroment uses getCaughtException and in another not.

 I discussed earlier with Tor on IRC, if it was the ASM code in
bridges/source/cpp_uno, but that does not seem to be the problem.

Hope somebody can give me a hint.

rgds
jan I.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice/attachments/20180218/36a97051/attachment.html>


More information about the LibreOffice mailing list