(*) if we are already throwing a Wrapped*Exception, get the
exception using cppu::getCaughtexception.
(*) when catching and then immediately throwing UNO exceptions,
use cppu::getCaughtException to prevent exception slicing
(*) if we are going to catch an exception and then
immediately throw a RuntimeException, rather throw a
WrappedTargetRuntimeException and preserve the original exception information.
Change-Id: Ia7a501a50ae0e6f4d05186333c8517fdcb17d558
Reviewed-on: https://gerrit.libreoffice.org/54692
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
auto-rewrite with <https://gerrit.libreoffice.org/#/c/47798/> "Enable
loplugin:cstylecast for some more cases" plus
solenv/clang-format/reformat-formatted-files
Change-Id: I3966d302241a52014aaad41f72924a2095ea6621
This reverts commit ab07f81d0b5ffc4297d5f15d2458c5cc9217800f.
> Jan 12 10:21:35 <sberg> tml_, is ab07f81d0b5ffc4297d5f15d2458c5cc9217800f
> still relevant? (one could imagine that if one wants such debug output during
> development in a non-debug build, one could build with --enable-sal-log?)
> Jan 12 10:22:01 <tml_> I have no idea what's relevant on iOS any longer
> Jan 12 10:22:26 <tml_> ... but my gut feeling would be no, can be removed
> Jan 12 10:23:14 <tml_> the rationale in the commit message sounds a bit thin
> Jan 12 10:24:02 <tml_> surely one should test an ap well enough before
> submitting, to verify that it isn't possible to get it to try to invoke a
> constructor that isn't included
Change-Id: I20ce8aa40a00205c1cae9d6ed4a87a6093745dc4
Reviewed-on: https://gerrit.libreoffice.org/47791
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
That *is* what we want, I guess, so better I do it proactively before
I am told to do it. Sorry for the back and forth, but my main point in
touching this code was anyway the filtering out of the component (the
KDE4Backend thing) that causes a crash for me, at least, and which it
presumably is fairly pointless to preload anyway.
Also, filter out libraries that for some reason have an empty name.
Change-Id: I2cffd51e67c23977e0779e7f0d6faaf59d8819d9
As the 1aedb6c4345719a963a883b13fa983db3ab4b9a8 commit message said,
the point is that we want this output even with a LO built for
production where SAL_INFO() and SAL_WARN() are no-ops.
Change-Id: I5f788c3914286ca8df2c7e290150adae0be42820
Use just SAL_INFO(), with tag "cppuhelper.preload". No unconditional
writes to std::cerr. Also, log the loading attempt beforehand, so that
it is printed before any crash during the loading of a component.
Change-Id: Ifde8be8cb5d18dd88df21c45c906deb575d36960
...than 25313923b08018bd837cfe3fc99a5e141602cafc "Fix CppunitTest_services for
constructor-based implementations..." (which this commit reverts again). My
claim that "the 'factory' would be the object itself" is nonsense, it would
rather be an ImplementationWrapper (but one that was freshly created for each
ServiceManager::createContentEnumeration).
Change-Id: I85c683cff6f9ba78d0f8567a53f8fcbc56fe55cf
Previosly (since commit 9ac98e6e3488e434bf4864ecfb13a121784f640b)
it was expected to gradually remove SAL_U/W usage in Windows code
by replacing with reinterpret_cast or changing to some bettertypes.
But as it's useful to make use of fact that LibreOffice and Windows
use compatible representation of strings, this commit puts these
functions to a better-suited o3tl, and recommends that the functions
be consistently used throughout Windows-specific code to reflect the
compatibility and keep the casts safe.
Change-Id: I2f7c65606d0e2d0c01a00f08812bb4ab7659c5f6
Reviewed-on: https://gerrit.libreoffice.org/43150
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
On Windows, UTF-8 is never current locale encoding; so using 8-bit
strings will always fail for paths containing characters outside
of current codepage.
Also fix leaks caused by failing to release its result: previously
it could return either result of getenv (that shouldn't get freed),
or an allocated string, but never got freed; now the result is
always allocated and properly freed.
Change-Id: I8b255dea20040eec0572de2b34280749fe8f071c
Reviewed-on: https://gerrit.libreoffice.org/42743
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
to markup dtors that coverity warns might throw exceptions
which won't throw in practice, or where std::terminate is
an acceptable response if they do
Change-Id: I32b94814e8245372e1d1dc36be0d81e3564042f4
Reviewed-on: https://gerrit.libreoffice.org/38318
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>