Commit Graph

750 Commits

Author SHA1 Message Date
38971bd654 Resolves: tdf#100140 crash on exit of report design
This was triggered by

This appears to be triggered by 08cf2fd01064306eef7fdbb5b62320947c4d1089

commit 08cf2fd01064306eef7fdbb5b62320947c4d1089
Author: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Date:   Fri May 20 16:48:00 2016 +0200

which changed the order that things registered through
registerDispatchProviderInterceptor are used by, so swap the order of
registerDispatchProviderInterceptor calls here to sync with that

Change-Id: I047e4c7f6cb488c646df717e22c8ac91864c3938
2016-06-15 17:30:29 +01:00
2986e54412 Fix tdf#99506: Insert OLE object with icon failed
Change-Id: I7fe5814b268e4c70977699edaa89926ca3fda92e
Reviewed-on: https://gerrit.libreoffice.org/25080
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
2016-05-24 07:03:45 +00:00
d567f8e242 Add SAL_FALLTHROUGH, where apparently appropriate
Change-Id: I49c216ed6e1e401fcc2029c047d7a7feeb767b36
2016-05-10 17:07:28 +02:00
14cd5182c5 Replace fallthrough comments with new SAL_FALLTHROUGH macro
...which (in LIBO_INTERNAL_ONLY) for Clang expands to [[clang::fallthrough]] in
preparation of enabling -Wimplicit-fallthrough.  (This is only relevant for
C++11, as neither C nor old C++ has a way to annotate intended fallthroughs.)

Could use BOOST_FALLTHROUGH instead of introducing our own SAL_FALLTHROUGH, but
that would require adding back in dependencies on boost_headers to many
libraries where we carefully removed any remaining Boost dependencies only
recently.  (At least make SAL_FALLTHROUGH strictly LIBO_INTERNAL_ONLY, so its
future evolution will not have any impact on the stable URE interface.)  C++17
will have a proper [[fallthroug]], eventually removing the need for a macro
altogether.

Change-Id: I342a7610a107db7d7a344ea9cbddfd9714d7e9ca
2016-05-10 16:42:16 +02:00
fc2590cfa1 Fix typos
Change-Id: Id81b16ff26283611f0b84929d831c827f847ab73
Reviewed-on: https://gerrit.libreoffice.org/24317
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-04-30 15:06:45 +00:00
bc9047540a loplugin:salbool: Automatic rewrite of sal_False/True
Change-Id: I8542bfaf9e27792369617c44258ddcc393e490a2
2016-04-20 17:25:40 +02:00
62633dfe02 clang-tidy performance-unnecessary-value-param in various
Change-Id: I7168d44dab8e6a8e37bb7920d744ff32f5e52907
Reviewed-on: https://gerrit.libreoffice.org/24019
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-14 11:37:19 +00:00
b8eb294651 loplugin:passstuffbyref in various
Change-Id: I80070c83204e531c2f599f8a56193d6ffe0e5022
2016-04-14 10:24:47 +02:00
4c7ec9f112 cleanup: remove unused com/sun/star/uno includes
Sequence.h(xx), Any.h(xx) and Type.h(xx)
and remove unused using-declarations from these files.

Add a few missing includes provided by them.

Change-Id: I6b91b6d1fdf9d0496dd546c0aab9bdcc6831a5d4
Reviewed-on: https://gerrit.libreoffice.org/23805
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-12 06:38:26 +00:00
2087484c65 use consistent #define checks for the Windows platform
stage 2 of replacing usage of various checks for the windows platform
with the compiler-defined '_WIN32' macro

In this stage we focus on replacing usage of the WIN macro

Change-Id: Ie8a4a63198a6de96bd158ecd707dadafb9c8ea84
Reviewed-on: https://gerrit.libreoffice.org/22393
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-02-17 11:33:57 +00:00
a238b1f8d3 Remove excess newlines
A ridiculously fast way of doing this is:

for i in $(pcregrep -l -M -r --include='.*[hc]xx$' \
  --exclude-dir=workdir --exclude-dir=instdir '^
{3,}' .)
do
    perl -0777 -i -pe 's/^
{3,}/

/gm' $i
done

Change-Id: Iebb93eccbee9e4fc5c4380474ba595858a27ac2c
Reviewed-on: https://gerrit.libreoffice.org/22224
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2016-02-09 08:18:05 +00:00
534b2a4b58 Fix typos
Change-Id: Ice72f8d9971e15dd6ef365e64cd567b8581a92d3
Reviewed-on: https://gerrit.libreoffice.org/21797
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2016-02-05 06:48:38 +00:00
c2a8ee9c56 more Windows build fixes
after my OInterfaceContainer2 change

Change-Id: I4adb4a1937c12c1f6cb9183d567afb729d4e78ea
2016-01-25 15:26:00 +02:00
752cd07d08 InterfaceContainer2 with vector instead of Sequence
create an InterfaceContainer2 class to replace InterfaceContainer.
It uses a std::vector instead of a Sequence for the mutable listener
list, which provides far better performance.

Switch all our internal use-sites to the new class.

Change-Id: I6b56cfa511ded2395faa22e68fab3b2f16c3cb88
2016-01-25 08:52:03 +02:00
13ca560d13 Fix memory leak
Change-Id: I82ce013a42ac1cd9bb4f3842e9fba8fbc6056b3c
2016-01-13 08:04:49 +01:00
64d624b651 Fix typos
Change-Id: I9a5940027423ff0791fa7da0b79b617412ce6b86
Reviewed-on: https://gerrit.libreoffice.org/21209
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-10 14:17:20 +00:00
c9be2744d8 cppcheck: noExplicitConstructor
Change-Id: Ifdcb1cc12645d6cdba81d16f94f0268696187cde
Reviewed-on: https://gerrit.libreoffice.org/21201
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-01-07 19:27:28 +00:00
004803c0d8 loplugin:unusedfields in desktop
Change-Id: Ic816a7faf4d357d16c13f67533b3b409a531d14c
2015-12-23 08:13:54 +02:00
17662cd7d4 embeddedobj: do not automatically convert alien objects to own
OleEmbeddedObject::changeState() calls TryToConvertToOOo() on non-WNT
platforms, which appears highly questionable to me, added in commit
0c3d5fb0ad35ff7fc18917fc86fa58d9312fe3ae.

What this does effectively is load the embedded object, store it as ODF,
and then load it again as ODF.

For one, it doesn't work in all cases currently.  If changeState() is
not called from the UI but from some filter code, then no m_xClient may
be set on the OleEmbeddedObject, hence no m_xClient will be set on the
new m_xWrappedObject.  Then loading the embedded object will raise
errors due to missing BaseURL, and storing it will fail in
SfxObjectShell::SaveTo_Impl().  (It would be possible to solve that by
copying the "DefaultParentBaseURL" handling code from
OCommonEmbeddedObject.)

The only reason why the previous code in ShapeExport::WriteOLE2Shape()
was able to export the object despite the error is that it does not call
SfxBaseModel functions but directly invokes the export filter, so the
sfx2 code does not get an opportunity to check its error status.

For another, doing this only on non-WNT platforms is also hazardous.

It's probably better to leave conversion to own formats to an explicit
UI action, as the OleEmbeddedObject::doVerb(-9) magic currently does,
where it can hopefully be assumed that the caller at least established
the client connection first.

Change-Id: Ice3d8f8ceabe81b6e9025957c3eb87de9dbfe61a
2015-12-20 00:56:06 +01:00
1a18c92a52 consolidate MSO format ClassID magic numbers in msfilter/classids.hxx
Change-Id: I673eeaa4168f769cb002995c43d986ee5f2030b2
2015-12-08 22:11:43 +01:00
018b561aa4 -Werror,-Wunused-function
Change-Id: I6103a8539c4d788fff1a7e3c3530a6ec7cd1f0c6
2015-11-28 08:44:46 +01:00
a508f639a0 mark UNO structs as SAL_WARN_UNUSED, where possible
Change-Id: Ie3de518f60c9f1313c68df54dbdc1fb2804f1f0d
2015-11-26 13:26:25 +02:00
09efeeb41a loplugin:nullptr (automatic rewrite)
Change-Id: I225d5fe2e3476121e2ca307d815d5615e32311d7
2015-11-10 10:31:24 +01:00
4770941171 loplugin:stringconstant: elide explicit ctor usage (automatic rewrite)
Change-Id: I5528b17c106aefde4c58dfef00e30fdcf62f7db7
2015-11-06 09:35:43 +01:00
59b072e22b yyyyy
Change-Id: I9a947beefd2dfe21da8239e841ea3fb416bd1548
2015-11-04 14:10:44 +02:00
3c971162b5 use uno::Reference::set method instead of assignment
Change-Id: I150f213ab033f5fc1b50abe4e1529292206c9feb
Reviewed-on: https://gerrit.libreoffice.org/19689
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-31 12:56:38 +00:00
3bc5df7f32 UNO: no need to use OUString constructor when calling createInstance
Change-Id: I37da28539b94706574116d0fff5f008aabfb5526
Reviewed-on: https://gerrit.libreoffice.org/19682
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-30 08:59:59 +00:00
b36963c0a6 Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code
Change-Id: I2ea407acd763ef2d7dae2d3b8f32525523ac8274
2015-10-12 17:52:29 +02:00
e6534a6099 com::sun::star->css in embeddedobj/
Change-Id: Ia04fc28ce8e1d70f86520edf2df8c98f7b455465
Reviewed-on: https://gerrit.libreoffice.org/19024
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-01 08:03:29 +00:00
00d2eeebc8 Fix typos
Change-Id: Iaa9dd3f02f21947742643349d3b878126017477d
Reviewed-on: https://gerrit.libreoffice.org/18947
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2015-09-30 12:25:15 +00:00
35fd0cf311 cppcheck: noExplicitConstructor
Change-Id: I39194062ba68c4cb1ccc9b93c629f005ccd02497
2015-09-13 22:42:35 +01:00
719c55cda7 loplugin: defaultparams
Change-Id: I455b200febc9939f3fb81597938b26c0e9eb5f74
2015-08-14 10:52:47 +02:00
b03f6f45f4 tdf#88206 replace cppu::WeakImplHelper* etc.
with the variadic variants in embeddedobj.

Change-Id: I60aad1267b664825f781c085fb33612bce3f7221
Reviewed-on: https://gerrit.libreoffice.org/17474
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-08-03 06:50:37 +00:00
38023af6c1 loplugin:unusedmethods
Change-Id: If5090c330e12d6e537766bf4a9be0a2360381a7a
Reviewed-on: https://gerrit.libreoffice.org/17312
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-24 10:36:20 +00:00
faed29cac9 for now show chart sidebar
This is a hack that needs to be cleaned up later.

Change-Id: I2772fe6ff8a4792d746a29653635d3eca4088e68
2015-07-16 08:15:17 +02:00
4ecd67b7ed fix indentation
Change-Id: I4bceb79ed4adda085727dfcee1ba3573811e53b3
2015-07-16 08:15:16 +02:00
f2b218468f fix indentation
Change-Id: Ifda010d2a8f51c6981cac889bfaa1edaacd22df2
2015-07-16 08:15:16 +02:00
7e5e4ac54c coverity#1308586 Uncaught exception
Change-Id: I86097e94dd47153a919bb7721376c5b98b50354e
2015-06-29 12:58:03 +01:00
69c88a32aa Fix typos
Change-Id: Ifd126a535f18db79a18aaec61b76cdf26ab33dff
Reviewed-on: https://gerrit.libreoffice.org/16522
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2015-06-28 12:28:31 +00:00
4ec27ad35f Resolves: tdf#91683 Revert avoid activating chart objects...
just to get their mapunit or set visual size.

Will have to try something different here apparently

This reverts commit 757f461ef12548af0be470f7c05ff67df3dc1314.

(cherry picked from commit f2b3519c6b2aceacbe2fd9d53eb52dd36a356ecc)
2015-06-23 09:13:35 +01:00
0980095619 Replace boost::scoped_array<T> with std::unique_ptr<T[]>
This may reduce some degree of dependency on boost.
Done by running a script like:

git grep -l '#include  *.boost/scoped_array.hpp.' \
 | xargs sed -i -e 's@#include  *.boost/scoped_array.hpp.@#include <memory>@'
git grep -l '\(boost::\)\?scoped_array<\([^<>]*\)>' \
 | xargs sed -i -e 's/\(boost::\)\?scoped_array<\([^<>]*\)>/std::unique_ptr<\2[]>/'

... and then killing duplicate or unnecessary includes,
while changing manually
m_xOutlineStylesCandidates in xmloff/source/text/txtimp.cxx,
extensions/source/ole/unoconversionutilities.hxx, and
extensions/source/ole/oleobjw.cxx.

Change-Id: I3955ed3ad99b94499a7bd0e6e3a09078771f9bfd
Reviewed-on: https://gerrit.libreoffice.org/16289
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-06-17 15:50:45 +00:00
8992def7c0 More helpful exception message
Change-Id: I63dcc98667ebfc94cc16407d283e65e1514d89fb
2015-06-17 14:37:45 +02:00
3fa7b0b70f Fix typos
Change-Id: Id8c7cf460cba5af89891c470e1aaa61b227d356e
Reviewed-on: https://gerrit.libreoffice.org/16310
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
2015-06-16 11:25:13 +00:00
4729774b24 remove unnecessary check for null when calling delete
Idea originally from caolan.
Found using the following command:
find . -name *.cxx | xargs /opt/local/bin/grep -zlP '(?m)if\s*\(\s*\w+\s*\)\s*delete\s+\w+\;'

Change-Id: I3338f4e22193a6dfd6219c8c75835224a3392763
2015-06-15 14:46:41 +02:00
d5dde72908 loplugin:cstylecast: deal with remaining pointer casts
Change-Id: Ie55f464ef2eca344d3c1292713ded2710c47cc53
2015-06-08 16:24:55 +02:00
b717bda1f6 tdf#67421: Prevent unloading objects due to cache full
When an object is added to OLE objects cache, when cache is full,
old objects are tried to be unloaded. This triggers notifications
that cause all loaded objects to become active, and to be added to
cache (moved to front).

As the new object already was added to front of the cache, later
activity pushes it to back, until it is the last object in cache.
The cache in this process is overfilled, so each next refresh tries
to unload current last OLE object. So, in the end, this effectively
unloads all cached OLE objects.

This patch prevents this by first unloading last object, and then
adding new object to front of cache.

Also, removed needless creation of reference (makes at least 200
function calls for no reason).

Change-Id: Ia903f4df101971df1b0b0148320fc8e45ac1e79c
Reviewed-on: https://gerrit.libreoffice.org/15772
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
2015-05-19 14:44:20 +00:00
ed85e11a1b embeddedobj: allow creating objects lacking a FileFormatVersion=6800 filter
dbaccess::ODatabaseDocument::loadFromStorage() is still not implemented,
though.

Change-Id: I1be11f2a2274f67dd0a11f96a718394d5f72605f
2015-05-04 16:12:14 +02:00
112e5f302e embeddedobj: allow embedding objects lacking a FileFormatVersion=6800 filter
The "own" filter of Base has FileFormatVersion=6200.

Change-Id: I3bbd28ebcf4d517ea9cefe692b01b688358c51e8
2015-04-30 15:41:25 +02:00
71b809959b remove unnecessary use of void in function declarations
ie.
    void f(void);
becomes
    void f();

I used the following command to make the changes:

  git grep -lP '\(\s*void\s*\)' -- *.cxx \
    | xargs perl -pi -w -e 's/(\w+)\s*\(\s*void\s*\)/$1\(\)/g;'

and ran it for both .cxx and .hxx files.

Change-Id: I314a1b56e9c14d10726e32841736b0ad5eef8ddd
2015-04-15 11:47:12 +02:00
26ec80f47d loplugin:staticmethods
Change-Id: I33a8ca28b0c3bf1c31758d93238e74927bebde9c
2015-04-13 09:37:12 +02:00