extensions/source/ole/unoobjw.cxx | 11 +++++++++++ 1 file changed, 11 insertions(+)
New commits: commit 3cd3d1044d03fdb733922bad74254f3ad65d898e Author: Tor Lillqvist <t...@collabora.com> Date: Thu Feb 8 21:57:22 2018 +0200 Pass missing (hopefully optional) parameters as Any() Change-Id: I93e69e589cd81fbc9606b1b08233da7fb8f5d043 Reviewed-on: https://gerrit.libreoffice.org/50089 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Tor Lillqvist <t...@collabora.com> diff --git a/extensions/source/ole/unoobjw.cxx b/extensions/source/ole/unoobjw.cxx index ba2b2fd0ceea..a9d2a4a4cd06 100644 --- a/extensions/source/ole/unoobjw.cxx +++ b/extensions/source/ole/unoobjw.cxx @@ -813,6 +813,17 @@ STDMETHODIMP InterfaceOleWrapper_Impl::Invoke(DISPID dispidMember, convertDispparamsArgs(dispidMember, wFlags, pdispparams , params ); + // Pass missing (hopefully optional) parameters as Any(). + InvocationInfo aInvocationInfo; + getInvocationInfoForCall(dispidMember, aInvocationInfo); + if (pdispparams->cArgs < (UINT)aInvocationInfo.aParamTypes.getLength()) + { + params.realloc(aInvocationInfo.aParamTypes.getLength()); + Any* pParams = params.getArray(); + for (int i = pdispparams->cArgs; i < aInvocationInfo.aParamTypes.getLength(); ++i) + pParams[i] = Any(); + } + ret= doInvoke(pdispparams, pvarResult, pexcepinfo, puArgErr, d.name, params); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits