summaryrefslogtreecommitdiff
path: root/extensions
AgeCommit message (Collapse)Author
2019-04-18tdf#122172 set textContent to nil in OOoContentDataProviderTomaž Vajngerl
This should prevent the crash - at least it did for me AFAICS. Change-Id: I489264d8054e6577b948b0ab307c863d3140788a Reviewed-on: https://gerrit.libreoffice.org/70755 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 9f392d0c09bd946e4660ccc2d48ee3ae1367343c)
2019-04-15Turn an incoming VT_NULL when a STRING is wanted into an empty BSTRTor Lillqvist
Might help in some cases in the customer application. Change-Id: Icdc13780d4623e9df8bc057760c1295d7d6ffd61
2019-04-02Fix typoTor Lillqvist
Change-Id: Ib5ba2d6e0b4af7126a3619b39ab7f1cd51f38c2a
2019-03-07Add FIXMETor Lillqvist
Change-Id: Id8a553ef880c79a1d71b6df9586f75a83f53746a
2019-03-07Generate more specific names for unknown members than just "Unknown"Tor Lillqvist
Include the numeric member id in the name. Hopefully makes it a bit easier to interpret log files produced by LibreOffice or by the COLEAT tool. Change-Id: I7270b9538cf1a75db8972fb91eb57b931fe8e320
2019-02-06Avoid -Werror=format-{overflow,truncation}=Stephan Bergmann
...as emitted by at least GCC 8.2 with --enable-optimized, by making the buffers large enough for the (hypothetical) largest values of the various date/time components Reviewed-on: https://gerrit.libreoffice.org/66618 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> (cherry picked from commit 113536e974d7ebbbc484b0ef40406f9b4d14e511) Change-Id: I82e9b08fa099546b2d6f29c702e1440df9e6c6e0
2019-01-21SAL_INFO also for parameter names that are not foundTor Lillqvist
Change-Id: I1b3fd47a23002673cb81811ebfd0034ca546d837
2018-12-10use Image(OUString) instead of Image(Bitmap(OUString))Noel Grandin
which benefits LOOL since we can delay creating the image until we know the dpi setting of the display we are going to write to. Achieved by perl -pi -w -e "s/\bImage\s*\(\s*BitmapEx\s*\((\w+)\s*\)\s*\)/Image\(\1\)/g" $( git grep -lw "BitmapEx" ) followed by git grep -nP '\bImage\s*\(\s*BitmapEx\s*\(' followed by commenting out the BitmapEx(OUString) constructor and seeing what needed adjusting. Change-Id: I3224e11937d720fa484b0d659d25673a9e809267 Reviewed-on: https://gerrit.libreoffice.org/64760 Tested-by: Jenkins Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/64860 Tested-by: Michael Meeks <michael.meeks@collabora.com>
2018-06-30Start of work on supporting named argumentsTor Lillqvist
In InterfaceOleWrapper::GetIDsOfNames(), look up also the parameter names, if present (if cNames > 1, rgszNames entries after the first). Return S_OK only if *all* the names were found, i.e. both the first (method or property) name, *and* all the parameter names. Change-Id: Ie04bc0558a7e2044ef527fc18f99230c71985a22 Reviewed-on: https://gerrit.libreoffice.org/55481 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com>
2018-06-30Show also args in the SAL_INFO in InterfaceOleWrapper::Invoke()Tor Lillqvist
Change-Id: I8d1d3273fcafe1ce750e66e55712eac607722717 Reviewed-on: https://gerrit.libreoffice.org/55655 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com>
2018-06-30Support named arguments in InterfaceOleWrapper::Invoke()Tor Lillqvist
Convert a DISPPARAMS with named arguments into one with just positional ones. If there are gaps, pass markers for them (VARIANTs with VT_ERROR:DISP_E_PARAMNOTFOUND). Those will be passed on as empty UNO Anys. Change-Id: Iad1197ba2559567a9c0eca4524e76389c2048fec Reviewed-on: https://gerrit.libreoffice.org/55654 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com>
2018-06-08Fix glitch in SAL_INFO loggingTor Lillqvist
Change-Id: I421d3980c50706f927a0611e48c33a43267dd01b
2018-06-08Log all the names being looked up in GetIDsOfNames()Tor Lillqvist
Change-Id: Ia116021ecc9f20c82622a4bc8ee40e7a9a1508fa
2018-06-08Various clang-cl/loplugin errors in extensions/source/ole/unoobjw.cxxStephan Bergmann
-Werror,-Wnon-virtual-dtor: made various dtors virtual -Werror,-Winconsistent-missing-override in END_COM_MAP: silenced the same way as in other places across the code base loplugin:unreffun in BEGIN_COM_MAP and END_COM_MAP: silence with -Wunused-function various -Werror in atlbase.h and atlcom.h: silenced the same way as in e.g. embedserv/source/inc/stdafx.h -Werror,-Wshadow -Werror,-Wunused-function loplugin:casttovoid loplugin:cstylecast loplugin:nullptr loplugin:salbool loplugin:subtlezeroinit Change-Id: Ifefdc930a1d3ecf5366523dea509bfaca1f4e001 Reviewed-on: https://gerrit.libreoffice.org/55186 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/55426 Tested-by: Tor Lillqvist <tml@collabora.com>
2018-06-07The XCollection loop index is one-basedTor Lillqvist
Change-Id: I2de9e53b2a0d923d4136ee5e093baa955c8301da Reviewed-on: https://gerrit.libreoffice.org/55409 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2018-06-07Improve logging in CXEnumVariantTor Lillqvist
Change-Id: Ia0c3f9f1e95980b14415a030fc40268629ae06f3 Reviewed-on: https://gerrit.libreoffice.org/55408 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2018-06-07tdf#118026: Use ooo::vba::XCollection instead of css::container::XEnumerationTor Lillqvist
An object returned by XCollection::Item() is of the right "VBA" kind that we want. One returned by XEnumeration::nextElement() is not. Change-Id: I26132a7d0f2638a61f2711b941386a889fabea72 Reviewed-on: https://gerrit.libreoffice.org/55391 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2018-05-31Log the call to CoRegisterClassObject()Tor Lillqvist
Change-Id: Idfca38ec2c931572b6978440862c7bfca8d536e6 (cherry picked from commit 9d2e7c3c07b471a89e7fc375eb9094510a3cacd7)
2018-05-31Add a SAL_INFOTor Lillqvist
Change-Id: Ic197a9573968fb252cb52cc5089f9140d5375d3a (cherry picked from commit ad57e6d3369b10c181cb644729466512428cc52d)
2018-05-31Need to enter the AutomationInvokedZone here, tooTor Lillqvist
Change-Id: I2723146f2c549c630dfa0e5da330af228cb305a0 (cherry picked from commit bfedeb79937aa5e8bdf01ecf6be25e2bbe8a6db5)
2018-05-31Enter AutomationInvokedZone appropriatelyTor Lillqvist
Change-Id: Ic76fc43fc521a6fd6642e22b71c311370788d4aa (cherry picked from commit 469b8334ad858723b83be1c285cde1d991df86c6)
2018-05-31Make convertDispparamsArgs() handle mismatch in number of parameters sanelyTor Lillqvist
Parameters come in in reverse order in pdispparams. There might be less parameters than expected. In that case, assume the missing ones are "optional" (but can't be marked as such in UNO IDL), and fill in the rest with empty Anys. There might also be more parameters than expected. In that case, assume the oovbaapi UNO IDL hasn't kept up with added optional parameters in MSO, and just ignore the extra ones, as long as they are empty. An example: incoming parameters: <12, 13, "foo/bar.tem"> Expected paramters: (string filename, int something, int somethingElse, Any whatever, Any whateverElse) Here the existing incoming parameters are placed in reverse order in the first three outgoing parameters, and the rest of the outgoing paramters are passed as empty Anys. Another example: incoming parameters: <EMPTY, TRUE> Expected parameters: (bool flag) Here the TRUE is passed as the sole outgoing parameter, and the incoming EMPTY is ignored. Still an example: incoming parameters: <"foo.doc", TRUE> Expected parameters: (bool flag) This throws an error as the incoming non-empty extra parameter presumably indicates something important, but there is no corresponding outgoing parameter to pass it in. Change-Id: Ib04f9701099ecb899e792d99ff86588022b3bbf6 (cherry picked from commit e4a99a3c502c0285b6fb542d84a9bffde045e526)
2018-05-31Implement EnumConnections, and fix handling of mismatched parameter numberTor Lillqvist
If we have too few parameters, fill with empty ones, as before. If we have more paramters than the called method expects, but the extra ones are empty anyway, ignore them. Do all of this in convertDispparamsArgs(). This improves interoperability with typical Automation clients. Change-Id: I47376993dc10b401e4c349e19b2bbe4be9f8f444
2018-05-31Make SAL_INFO logging style more usefulTor Lillqvist
Make it easier to search for a specific class and function in the output by outputting the 'this' pointer first, not between the class and function name. Change-Id: Ia6e087e3a4be9e701c418aedb9b6af5fd4f6e828 (cherry picked from commit c86c08ea00e284ce4381b26609cd83fab17e4991)
2018-05-31Initial steps to make also Calc usable from Automation clientsTor Lillqvist
Largely parallel to what we do for Writer. Yes, there is a fair amount of duplicated code now for the outgoing ("sink") stuff in sw and sc, that should be factored out (to vbahelper, probably). Change-Id: I8df4a81c3b9043e8d6b0b206e3c04660205987c7 (cherry picked from commit b9ef6b66e7a67a448b1a840c47146d8789a92a6d)
2018-05-31Use correct index for incoming Arguments sequenceTor Lillqvist
Change-Id: I1c706a2139cb2596969c6c1d166d3f9fe9f91d39 (cherry picked from commit bbe55ee8e78b2e293234ea8d2b234c4cd7091aa1)
2018-05-31Initialise mxMSF in all casesTor Lillqvist
Change-Id: Ib7fcdbe934b66971995574226f982a6865faab1b (cherry picked from commit 4bf4895739ea16f0fbc68099fd3372e9d8a389a5)
2018-05-31Add informative commentTor Lillqvist
Change-Id: I428c2bbaa273d893fa5a3cc42bb7f3d060f375ad (cherry picked from commit 552b62f24a8804b6875cfcf1191093af80af2923)
2018-05-31First attempt at passing arguments, also in and inout, to Automation callbacksTor Lillqvist
Change-Id: Iff629243888153250b655a5e942ced024e3338a7 (cherry picked from commit 2774593a4b23ba831b3b4d5729a241416634e917)
2018-05-31A few SAL_INFO tweaksTor Lillqvist
Change-Id: I4a9c6341891bc80d8ab7648ed972d57739aa4f4a (cherry picked from commit b34d42129178731a841c52aac186f5d9f4fa817e)
2018-05-31First attempt at implementing CXTypeInfo::GetFuncDesc() and ReleaseFuncDesc()Tor Lillqvist
The returned information for the methods is fairly bogus, though. Not sure now (a few months after I wrote the code) whether this added functionality was actually needed, or whether I just added it for potential future need, and with the intent that it needs to be improved significantly then later if actually needed. Change-Id: Ifb132f494cdd7172b4b1d05cc26e2370ea595f41 (cherry picked from commit 27a1351122dbab79536870d7080307defbcae433)
2018-05-31Prepare to handle out (and inout) parameters to event callbacksTor Lillqvist
Change-Id: I47054c1df40d1058618b0fbd3fdb82fa93ca8836 (cherry picked from commit 2ee43cff5cf0e4125e7b2bbb7c763069c6aca95c)
2018-05-31Add one more #define _SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING 1Tor Lillqvist
Change-Id: I228ae626532b3ae6f632701e71d3da182c496612 (cherry picked from commit 9673511526660ff23169456b2cce560d968107b3)
2018-05-31Remove leftover hardcoded check for SwVbaApplicationTor Lillqvist
Instead, be generic, check whether the objects implements ooo::vba::XConnectable. That's what we do in the IID_IConnectionPointContainer case, too. Change-Id: Ib499aa011775f79a2accaef64e19738bdb7ed143 Reviewed-on: https://gerrit.libreoffice.org/55109 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit 98630a6edf91183dbd8f1bdb02616889251927de)
2018-05-31We want just one SwVbaGlobals and SwVbaApplication for all Automation clientsTor Lillqvist
I think. Anyway, if it turns out we do want one per client, easy to revert this. (And it isn't very common to have several Automation clients connected at the same time anyway, surely.) There will still additionally be one SwVbaGlobals (and SwVbaApplication) per open document with a StarBasic interpreter, though. I think. Change-Id: I5f7dbfd65b5decb152c1192298bc85dcf6027d64 Reviewed-on: https://gerrit.libreoffice.org/55094 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit 3f3b7b38df42695c934d6382659db1b79b236c28)
2018-05-31Work in progress related to invoking events in Automation clientsTor Lillqvist
XConnectable interfaces need a second IID, for the interface "itself", not the coclass. (I am sure there is some catchy short term for that, I just can't find it right now.) Allow several simultaneous sinks for a SwVbaApplication. Not sure in what case such would be needed, but you never know about 3rd-party client code, and it's trivial to handle anyway, so why not. Lots of FIXMEs still. There is likely also a lot of leaks. But at least an event handler in a simple VBScript script does get invoked. Note that the changed and added code in extensions/source/ole is totally unaware of what outgoing ("event") interfaces Writer or Calc implements, it is all handled generically through the UNO interfaces I added recently. One particular thing that needs doing is to actually make Writer (and Calc) raise this kind of events when necessary. The current code to invoke events handlers in StarBasic (including StarBasic code running in "VBA" compaibility) is very much tied to having StarBasic running (not surprisingly), which of course is not at all the case when it is an Automation client that is manipulating a Writer or Calc instance and wants events. There is demonstration-only code in SwVbaApplication::Documents() to raise the "Quit" event. (I would have put that in the SwVbaApplication destructor but that doesn't seem to get called.) That should of course go away once we invoke other relevant events in appropriate places. And the "Quit" event needs to be invoked when the application is quitting. The whole callback mechanism with IConnectionPoint etc is still partly a mystery to me. It is entirely possible that even if this now works for a simple VBScript client, it won't work for (for instance) a VB6 client that might exercise the APIs of the COM interfaces we provide in a different way. Add XSinkCaller, for something that perhaps calls one or several XSinks. Change-Id: Ica03344010e374542f4aceff5ec032c78579f937 Reviewed-on: https://gerrit.libreoffice.org/55093 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit f7e0297b01f739e17f2f9517bf3d89baaee654ab)
2018-05-31Implement InterfaceOleWrapper::GetTypeInfoCount()Tor Lillqvist
It is just supposed to return 1, after all. And we do try to implement the GetTypeInfo(). (Sure, the testing I am doing that turned out to require GetTypeInfo() to work then immediately after this runs into much harder problems to solve, but that is another issue.) Change-Id: If7e0707d7b404d6a46b24e642c2146b3bfff03f0 Reviewed-on: https://gerrit.libreoffice.org/55070 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit 5afbfd215a108a6bd3b3a8379d789663e1022789)
2018-05-31Fix typos in SAL_WARNs: The class is called CXTypeInfo, not CxTypeInfoTor Lillqvist
Change-Id: Iab17340f57cf8b116d2f058661dabd3a95fb61d2 (cherry picked from commit 8444ab9287ebb8029afe576f25d8ee9103f0e7c5)
2018-05-31Handle <codecvt> deprecation issue with VS2017Tor Lillqvist
As VS2017 so eloquently puts it, "Warning STL4017: std::wbuffer_convert, std::wstring_convert, and the <codecvt> header (containing std::codecvt_mode, std::codecvt_utf8, std::codecvt_utf16, and std::codecvt_utf8_utf16) are deprecated in C++17. (The std::codecvt class template is NOT deprecated.) The C++ Standard doesn't provide equivalent non-deprecated fu tml_ nctionality; consider using MultiByteToWideChar() and WideCharToMultiByte() from <Windows.h> instead. You can define _SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning." So VS2017 actually recommends using platform-specific API instead of standard C++ API that is or will be deprecated but has no standard replacement. Insane. Note that it is not enough to define that _SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING just right where you are including <codecvt> because "for all of the warning suppression macros, you must define them before any C++ Standard Library header has been included (both <vector> etc. and <cstdlib> etc.)" as mentioned on https://blogs.msdn.microsoft.com/vcblog/2017/12/08/c17-feature-removals-and-deprecations/ So define it in the single file that includes windowsdebugoutput.hxx for now. Change-Id: Iecd9702502ce3b33013d6799c618d6b98d803c3e (cherry picked from commit 3cce079c9307315f18b6f49f1de58f52e956e0d6)
2018-05-31We might need to handle form controls as properties for OLE clients after allTor Lillqvist
Start a bit of work on that. Change-Id: I7775f9598a81d64e9716996027b01f7f8e29745b Reviewed-on: https://gerrit.libreoffice.org/55043 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit 2b6a84c8f699c9da115ce297ad19b8f480ab608f)
2018-05-31Hack to make properties work better from Automation clientsTor Lillqvist
There were a couple of problems apparent at this stage when using the ooovbaapi things from a test Automation client (written in VBScript, to be precise). Accessing for instance the ActiveDocument property of an ooo::vba::word::XGlobals instance worked fine. But properties of other objects, like instances of ooo::vba::word::XDocument, did not work. When attempting to access any property of an ooo::vba::word::XDocument, the code ended up calling the hasProperty() of SwVbaDocuemnt. That function is for checking a totally different kind of "properties", namely named form controls. Why form controls are con-fused with oovbaapi properties I don't know. Maybe it is intentional and as expected when using the oovbaapi from the built-in Basic interpreter in LibreOffice. Or then just an accident in history. Still, surely it can't be changed, that would break Basic scripts embedded in existing ODF documents. Anyway, from an OLE Automation client, for instance when asking for the Content property of an ooo::vba::word::XDocument object, we definitely don't want any form control that happens to have the name "Content". We want an object with two integer properties, Start and End. Make this work by always creating an invocation factory instead of using the object itself. Pass the invocation factory's createInstanceWithArguments() function an extra argument indicating this is the case of use from OLE Automation. In the Invocation_Impl class in the stoc module, when this extra argument is noticed, set a new mbFromOLE flag. Modify the behaviour slightly when that is true. I am not at all sure that this will work in all cases, but let's see, at least for simple tests so far it had the intended effect. Another issue was that looking up these properties was case sensitive. This is wrong at least from languages like VBScript. Use the mbFromOLE flag also to affect the case sensitivity behaviour. Maybe I should simply make sure that _xDirect is null in the Automation case? _Direct (a reference to an XInvocation) being non-null probably means that we are using the document interface's own implementation of XInvocation, which is probably always wrong in the OLE Automation case. (Just see the SwVbaDocument implementations of hasProperty() and invoke(), for instance.) Change-Id: I2fd174f69f430893aef538cc9bf2a99d1c86b567 Reviewed-on: https://gerrit.libreoffice.org/55023 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit 7873bba6c1e5de580ef28d0ecf68d154dd57e726)
2018-05-31Provide also an ooo.vba.word.XApplication objectTor Lillqvist
Create the objects on offer to Automation clients lazily It would be silly to create the ooo.vba.word.XApplication in every LibreOffice instance, even if no Writer functionality was going to be used at all in that process. I did not have to do what the old FIXME said, "make Application a proper service", whatever that means. Change-Id: I02a0ceb6290012b4bb6afacadc03871feaf57406 Reviewed-on: https://gerrit.libreoffice.org/55005 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit 0667df70dc749ae50ce29713308f14d624f2a683)
2018-05-31Handle DISPID_NEWENUMTor Lillqvist
We get that when an Automation client wants to enumerate an object that is a collection. We need to create an IEnumVARIANT object and return it (as an IUnknown). I wasted days on trying to implement this IEnumVARIANT object using the same twisty maze of helpers, wrappers, UNO conversion utilities, etc as used for the other stuff here. The other objects have both UNO and OLE personalities. Could not figure out how to do it. Then I decided to just do it brute force, following some sample code, not bothering with any UNO personality at all for the IEnumVARIANT thing, and it worked right away. Change-Id: I6a175ea80b75d48d2f0b793f143f3a84715522c1 Reviewed-on: https://gerrit.libreoffice.org/54994 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit 52eb78c8d2c9954733d95326922462a820d9f0dd)
2018-05-31Add one line of hopefully correctly understood explanationTor Lillqvist
Change-Id: Ib22583a45c03a4b7c3b4ff73e9d28f47ab31bc4f (cherry picked from commit 9bbb71d4a003d00a3361f337b3f96d4a19a35562)
2018-05-31Bin noise part of commentTor Lillqvist
Our convention is to just have the name of the abstract base class in a comment before the declaration of the concrete overrides of its abstract member functions. No need to say "Abstract struct" there. Change-Id: I2b9bdf0555af5280771370a6df56fd4c8623661a (cherry picked from commit 8d6f684067092a32e45a75e9290d7d19a753f726)
2018-05-31IClassFactoryWrapper can go away nowTor Lillqvist
Change-Id: I7633648dc0398d2c1b6f04e6db9b18638a7451f5 Reviewed-on: https://gerrit.libreoffice.org/54781 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2018-05-31Bin dead codeTor Lillqvist
OleServer::provideService() was not called anywhere. That means the ProviderOleWrapper class is unused, too. Which is good, as it seemed to largely be identical to OneInstanceOleWrapper anyway. Change-Id: If8782d56ed1ec1bb173cfc18be585be4c331f335 Reviewed-on: https://gerrit.libreoffice.org/54647 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit 0f2157cb1513371829d7f8c415324cffed28c377)
2018-05-31In fact it's simpler to not have m_guid fields in these two classes at allTor Lillqvist
We can just pass the GUID as parameter to the single member function registerClass() that needs it. This perhaps means the same class can be used in more cases, also for objects/classes that aren't going to be registered and don't need any GUID. Change-Id: I28703190c52b14236c6f613dd4acbe359c075f5c Reviewed-on: https://gerrit.libreoffice.org/54622 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit 17ad73232ff604329e6532817570cb40342857e8)
2018-05-31These fields can be constTor Lillqvist
Change-Id: I379770f93799668e44beab03fb64ceddffabe85a Reviewed-on: https://gerrit.libreoffice.org/49326 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit 72fefd7ab6fd551effcf821e4e257df2756bece1)
2018-05-31There is nothing called o2u_anyToVariantTor Lillqvist
Change-Id: I7118843fde87a2d587f0e4ec99d146c379da618e (cherry picked from commit 79a6290969d5c1feab56158b6cf0dd0a4b52d53e)