summaryrefslogtreecommitdiff
path: root/extensions
AgeCommit message (Collapse)AuthorFilesLines
2019-02-06Avoid -Werror=format-{overflow,truncation}=Stephan Bergmann1-4/+5
...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 Lillqvist1-0/+4
Change-Id: I1b3fd47a23002673cb81811ebfd0034ca546d837
2018-12-10use Image(OUString) instead of Image(Bitmap(OUString))Noel Grandin5-12/+12
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 Lillqvist1-11/+50
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 Lillqvist1-1/+15
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 Lillqvist1-6/+91
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 Lillqvist1-3/+4
Change-Id: I421d3980c50706f927a0611e48c33a43267dd01b
2018-06-08Log all the names being looked up in GetIDsOfNames()Tor Lillqvist1-3/+11
Change-Id: Ia116021ecc9f20c82622a4bc8ee40e7a9a1508fa
2018-06-08Various clang-cl/loplugin errors in extensions/source/ole/unoobjw.cxxStephan Bergmann1-226/+209
-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 Lillqvist1-2/+2
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 Lillqvist1-5/+26
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 Lillqvist1-13/+20
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 Lillqvist1-0/+3
Change-Id: Idfca38ec2c931572b6978440862c7bfca8d536e6 (cherry picked from commit 9d2e7c3c07b471a89e7fc375eb9094510a3cacd7)
2018-05-31Add a SAL_INFOTor Lillqvist1-0/+2
Change-Id: Ic197a9573968fb252cb52cc5089f9140d5375d3a (cherry picked from commit ad57e6d3369b10c181cb644729466512428cc52d)
2018-05-31Need to enter the AutomationInvokedZone here, tooTor Lillqvist1-0/+3
Change-Id: I2723146f2c549c630dfa0e5da330af228cb305a0 (cherry picked from commit bfedeb79937aa5e8bdf01ecf6be25e2bbe8a6db5)
2018-05-31Enter AutomationInvokedZone appropriatelyTor Lillqvist1-0/+46
Change-Id: Ic76fc43fc521a6fd6642e22b71c311370788d4aa (cherry picked from commit 469b8334ad858723b83be1c285cde1d991df86c6)
2018-05-31Make convertDispparamsArgs() handle mismatch in number of parameters sanelyTor Lillqvist1-13/+53
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 Lillqvist1-36/+159
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 Lillqvist1-51/+51
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 Lillqvist1-0/+16
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 Lillqvist1-4/+4
Change-Id: I1c706a2139cb2596969c6c1d166d3f9fe9f91d39 (cherry picked from commit bbe55ee8e78b2e293234ea8d2b234c4cd7091aa1)
2018-05-31Initialise mxMSF in all casesTor Lillqvist1-3/+6
Change-Id: Ib7fcdbe934b66971995574226f982a6865faab1b (cherry picked from commit 4bf4895739ea16f0fbc68099fd3372e9d8a389a5)
2018-05-31Add informative commentTor Lillqvist1-0/+10
Change-Id: I428c2bbaa273d893fa5a3cc42bb7f3d060f375ad (cherry picked from commit 552b62f24a8804b6875cfcf1191093af80af2923)
2018-05-31First attempt at passing arguments, also in and inout, to Automation callbacksTor Lillqvist1-6/+120
Change-Id: Iff629243888153250b655a5e942ced024e3338a7 (cherry picked from commit 2774593a4b23ba831b3b4d5729a241416634e917)
2018-05-31A few SAL_INFO tweaksTor Lillqvist1-1/+2
Change-Id: I4a9c6341891bc80d8ab7648ed972d57739aa4f4a (cherry picked from commit b34d42129178731a841c52aac186f5d9f4fa817e)
2018-05-31First attempt at implementing CXTypeInfo::GetFuncDesc() and ReleaseFuncDesc()Tor Lillqvist1-6/+98
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 Lillqvist1-2/+2
Change-Id: I47054c1df40d1058618b0fbd3fdb82fa93ca8836 (cherry picked from commit 2ee43cff5cf0e4125e7b2bbb7c763069c6aca95c)
2018-05-31Add one more #define _SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING 1Tor Lillqvist1-0/+3
Change-Id: I228ae626532b3ae6f632701e71d3da182c496612 (cherry picked from commit 9673511526660ff23169456b2cce560d968107b3)
2018-05-31Remove leftover hardcoded check for SwVbaApplicationTor Lillqvist1-2/+4
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 Lillqvist1-2/+2
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 Lillqvist3-165/+1000
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 Lillqvist1-3/+9
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 Lillqvist1-18/+18
Change-Id: Iab17340f57cf8b116d2f058661dabd3a95fb61d2 (cherry picked from commit 8444ab9287ebb8029afe576f25d8ee9103f0e7c5)
2018-05-31Handle <codecvt> deprecation issue with VS2017Tor Lillqvist1-0/+3
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 Lillqvist2-4/+293
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 Lillqvist1-12/+10
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 Lillqvist3-11/+39
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 Lillqvist1-0/+124
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 Lillqvist1-0/+3
Change-Id: Ib22583a45c03a4b7c3b4ff73e9d28f47ab31bc4f (cherry picked from commit 9bbb71d4a003d00a3361f337b3f96d4a19a35562)
2018-05-31Bin noise part of commentTor Lillqvist1-2/+2
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 Lillqvist2-33/+10
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 Lillqvist2-181/+0
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 Lillqvist2-22/+16
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 Lillqvist2-6/+4
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 Lillqvist1-1/+1
Change-Id: I7118843fde87a2d587f0e4ec99d146c379da618e (cherry picked from commit 79a6290969d5c1feab56158b6cf0dd0a4b52d53e)
2018-05-31These fields can be constTor Lillqvist1-2/+2
Change-Id: I103f06b9c7f14ac7eff9911ab5bebc4c98e7d41f Reviewed-on: https://gerrit.libreoffice.org/54614 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit 7c7b3c70e1def37ee707827e75d0afa00b0b3619)
2018-05-31No need for this #pragma onceTor Lillqvist1-5/+0
Change-Id: I219226060ebf4b8b86c8f0487fc679f22f73812a Reviewed-on: https://gerrit.libreoffice.org/54468 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit 7a2b7693452dec3d30778301ae3a294bfaed344b)
2018-05-31We only support MSVC anyway for our Windows-specific codeTor Lillqvist1-4/+0
Change-Id: I68dfd0832747c7c319e40ee28a4461623e95102f Reviewed-on: https://gerrit.libreoffice.org/54482 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit 69322f8b539cd9f98e0ee5f9afc7c3df0d897493)
2018-05-31Drop _Impl class name suffix where pointlessTor Lillqvist8-260/+242
I.e. where there is no other LibreOffice, or system, or 3rd-party library thing with just the un-suffixed name that they would be a pimpl of, etc. Why bother calling something InterfaceOleWrapper_Impl when there is nothing that would be called InterfaceOleWrapper? It just makes the code seem more complicated and harder to read. An "implementation" of something is what everything that is not fully abstract *is*. We don't suffix the name of every non-abstract class with _Impl elsewhere either. Also drop two unused structs. Change-Id: I2755e6da78d8e4ded5291688dc90510b5f8b498b Reviewed-on: https://gerrit.libreoffice.org/54411 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit a48f22db7dd1bfeff62007a655566ddaad79aebd)
2018-05-09Don't throw in LdapUserProfileBe ctor on LDAP misconfigurationMike Kaganski2-21/+21
Otherwise LO crashes e.g. at opening Expert Configuration dialog. Instead, log the event, create an empty backend, and return empty values. Change-Id: I433fc89c003e7886dfc5242a4ef8defa46d643d3 Reviewed-on: https://gerrit.libreoffice.org/53958 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit 5ed889e80805daf8471054786c1e424a73744ad3) Reviewed-on: https://gerrit.libreoffice.org/54039 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com>