fdo#43433: Binary URP works gracefully with old Java URP
...which did not support protocol properties yet. Change-Id: Ic5bb346764fb039856e16169d5ae96d01422e7e0
This commit is contained in:
@@ -669,7 +669,24 @@ void Bridge::sendRequestChangeRequest() {
|
|||||||
void Bridge::handleRequestChangeReply(
|
void Bridge::handleRequestChangeReply(
|
||||||
bool exception, BinaryAny const & returnValue)
|
bool exception, BinaryAny const & returnValue)
|
||||||
{
|
{
|
||||||
throwException(exception, returnValue);
|
try {
|
||||||
|
throwException(exception, returnValue);
|
||||||
|
} catch (css::uno::RuntimeException & e) {
|
||||||
|
// Before OOo 2.2, Java URP would throw a RuntimeException when
|
||||||
|
// receiving a requestChange message (see i#35277 "Java URP: Support
|
||||||
|
// Manipulation of Protocol Properties"):
|
||||||
|
if (mode_ != MODE_REQUESTED) {
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
SAL_WARN(
|
||||||
|
"binaryurp",
|
||||||
|
"requestChange caught RuntimeException \'" << e.Message
|
||||||
|
<< "' in state 'requested'");
|
||||||
|
mode_ = MODE_NORMAL;
|
||||||
|
getWriter()->unblock();
|
||||||
|
decrementCalls();
|
||||||
|
return;
|
||||||
|
}
|
||||||
sal_Int32 n = *static_cast< sal_Int32 * >(
|
sal_Int32 n = *static_cast< sal_Int32 * >(
|
||||||
returnValue.getValue(
|
returnValue.getValue(
|
||||||
css::uno::TypeDescription(cppu::UnoType< sal_Int32 >::get())));
|
css::uno::TypeDescription(cppu::UnoType< sal_Int32 >::get())));
|
||||||
|
Reference in New Issue
Block a user