Commit Graph
3620 Commits
Author SHA1 Message Date
Noel Grandin 3a88b513fd loplugin:stringviewparam convert methods using trim
for which we add a new o3tl::trim method

Change-Id: I9d37b6264eea106aa2f3502bd24b8cccf7850938
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132658
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-08 10:26:10 +02:00
Noel Grandin ef82ccdda9 new loplugin:trivialconstructor
Change-Id: Iaaf63c49ce94987ab9c4ebc68e963cc3054a3c34
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131342
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-03-14 07:36:13 +01:00
Noel Grandin 492098417a GetComponentServiceName can be const
Change-Id: Iac61eec0b27660dd2ff45f70c92de5a8cdc2c301
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131044
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-03-05 15:19:15 +01:00
Noel Grandin e13a8c7df2 use SfxItemSet::GetItemIfSet in desktop..reportdesign
Change-Id: Iaa0ddf4e97866d537a478e668e3c651a9eabc465
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130708
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-03-01 07:46:32 +01:00
Noel Grandin 2baf13e903 use more TypedWhichId
Change-Id: I6ab3ca829bc08e672736dd8dd41ba714d7172090
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130498
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-02-24 19:31:38 +01:00
Noel Grandin 27352b8163 Add XWeak constructor and operator= to uno::WeakReference
which is faster since we can skip the UNO_QUERY.

Change-Id: Id95ad9f3568213e974bd13659d92d4ea94dbfbd6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130282
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-02-22 12:27:55 +01:00
Julien Nabet 6dcd73f505 Simplify sequence of PropertyValue in forms
Change-Id: Iab1af5c8d8d824ef2a4be471395f174cadabfc1e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129583
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-02-07 07:56:16 +01:00
Gabor Kelemen e3206e6740 Recheck modules [e-f]* with IWYU
See tdf#42949 for motivation

Change-Id: I49a3ce10dee4b03f99156f5b641f69448e1d5617
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128479
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2022-01-17 01:33:35 +01:00
Stephan Bergmann 29bc12777c Let loplugin:nullptr look into template instantiations
It missed some occurrences of 0 when only looking into uninstantiated template
code, as Clang doesn't model them with an ImplicitCastExpr, even if the target
is known to be a (dependent) pointer type.

Looking into all template instantiations of course carries the risk that a given
use of 0 is meant to be interpreted as a pointer in some and as an integer in
other instantiations.  But the only case where that happened in the current code
base is RegistryValueList::getElement (include/registry/registry.hxx), where {}
is arguably a better choice anyway.  (And which would presumably also hold for
any future such cases.)

Change-Id: I708bcfc8bedc0a49c9282d7814eb325afa29905c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128462
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-01-15 15:58:07 +01:00
Noel Grandin 17950f4d20 use less SvStream::Flush()
Flush() turns into a sync() on the device, which is pretty slow.
Most of the time all we actually want to do is to flush the internal
buffers from the SvStream.

So expose the FlushBuffer method and use that where possible.

And also means we don't need the mbDontFlushOnClose flag on SvStream
any more.

Change-Id: Ibe089b88b325f0fdc565200a97ce72cd26b7fcfb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128214
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-01-10 17:59:45 +01:00
Noel Grandin 489bce5986 loplugin:flatten in filter..framework
Change-Id: I15a577b3c6da03001bbbf2c2b43b29b41c4007c1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127234
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-12-21 17:14:14 +01:00
Caolán McNamara b0b2d7f040 cid#1495784 Missing move assignment operator
Change-Id: If9211cbfa326992f2fbbc321f5bf21804de091ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127026
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-12-18 16:01:16 +01:00
Noel Grandin 7994791e0a use more OInterfaceContainer3::notifyEach
Change-Id: I0dd6e9f1514792e73a31e81896d09c27c1912318
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126966
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-12-17 07:26:25 +01:00
Caolán McNamara b2aa646ef0 use more OInterfaceContainerHelper3 in toolkit
Change-Id: I3861a254d660662cbf575e9669cbacba36634856
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126855
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-12-16 16:34:29 +01:00
Stephan Bergmann db3a61cd95 Generally determine Rdb content from gb_*_set_componentfile calls
...instead of by listing the content somewhat redundantly in the Rdb_*.mk
files, to avoid duplication of logic for components that are only built
conditionally (and thus should only be included conditionally in the
corresponding Rdb).  To achieve that, add an "rdb" parameter to
gb_ComponentTarget_ComponentTarget (and to the gb_*_set_componentfile macros
that internally call gb_ComponentTarget_ComponentTarget), which is used to make
the appropriate gb_Rdb_add_component call internally from within
gb_ComponentTarget_ComponentTarget.  (As a special case,
gb_CppunitTest_set_componentfile shall not call gb_Rdb_add_component, as that
has already been done by the corresponding gb_Library_set_componentfile call, so
allow the gb_ComponentTarget_ComponentTarget "rdb" parameter to be empty to
support that special case.)

Most Rdb_*.mk files are thus mostly empty now.  One exception is
i18npool/Rdb_saxparser.mk, which duplicates some of the Rdb_services content as
needed during the build in CustomTarget_i18npool/localedata.

1c9a40299d "gbuild: create services.rdb from built
components" had already tried to do something similar (in addition to other
things) under a new --enable-services-rdb-from-build option.  However, that
approach had four drawbacks that this approach here addresses (and which thus
partly reverts 1c9a40299d):

1  Rdb_services shall not contain the component files of all libraries that are
built.  While that commit filtered out the component files that go into
Rdb_ure/services (ure/Rdb_ure.mk), it failed to filter out the component files
that go into others like Rdb_postgresql-sdbc
(connectivity/Rdb_postgresql-sdbc.mk).

2  The code added by that commit to Makefile.gbuild codified the knowledge that
there is an Rdb_services, which is brittle.

3  The code added by that commit to solenv/gbuild/Rdb.mk codified the knowledge
(for gb_Rdb__URECOMPONENTS) that there is an Rdb_ure/services, which is brittle.

4  Introducing an --enable-services-rdb-from-build option needlessly provided
two different ways how the content of Rdb_services is assembled.

The changes done here would leave --enable-services-rdb-from-build as a
misnomer, as it no longer controls how Rdb_services is assembled.  I thus
renamed it to --enable-customtarget-components, as that is apparently what it
still does now.

Change-Id: Ia5e8df4b640146c77421fcec6daa11a9cd260265
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126577
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-12-10 08:14:24 +01:00
Noel Grandin f9f5c9f0d6 replace comphelper::OListenerContainer with OInterfaceContainerHelper3
OInterfaceContainerHelper3 is in wide use and can do the same thing with
less ceremony

Change-Id: I5252738d6b7bda6245c66da46352944ead79bd52
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126271
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-12-03 20:42:00 +01:00
Noel Grandin 9f18e327a1 use more OInterfaceContainerHelper3 in forms
Change-Id: Ie4a6124beccb55c983b8d4f63c86ec5f2869e9c5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125956
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-11-28 11:40:17 +01:00
Noel Grandin 9a96b1b515 remove unused defines and convert some to OUStringLiteral
Also remove the associated links.txt entries

Change-Id: I5028fab2feb828875a0b772418fc29cbdfe4ce72
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125773
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-11-25 14:26:56 +01:00
Noel Grandin ed355acf3f loplugin:stringliteraldefine in forms
Change-Id: Ia26f0c767030db0361758d2be37f01d30c7e1df9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125763
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-11-25 12:04:56 +01:00
Noel Grandin ec1c4c4930 O[U]String::replaceAt overloads that take string_view
which results in lots of nice string_view improvements picked up by the
plugins

Change-Id: Ib0ec3887816b3d4436d003b739d9814f83e244b2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125657
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-11-23 14:00:08 +01:00
Noel Grandin a9c8ac3632 remove ORowSetValue implicit conversion methods
in favour of the existing get*() methods.
The get*() methods 0 or false or empty in the case of "null", which
is exactly the same behaviour as the conversion methods.

These implicit conversion methods cause lookup problems when combined
with some upcoming OUString changes.
And the code looks cleaner this way too, and has less magic when calling
methods.

Change-Id: Ieb4756bf693e83b996a32667fc1b955f89193496
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125690
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-11-23 12:28:49 +01:00
Noel Grandin e29d89545e improve method naming
Change-Id: I9a45839f6566caf41ccee2f8d149b4d0c60c3503
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125663
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-11-22 17:37:58 +01:00
Noel Grandin 4bc44490f5 loplugin:stringliteraldefine in tools
Change-Id: I348b9a844c009f9c19301baa76d31b12f67c6130
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125535
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-11-19 12:56:36 +01:00
Julien Nabet ae22b5c49c tdf#145731: fix crash closing document
Regression from:
https://cgit.freedesktop.org/libreoffice/core/commit/?id=73334560b2dd2d60ac58d2cc2b1a5295490b03e1
author	Julien Nabet <serval2412@yahoo.fr>	2021-11-07 15:40:37 +0100
committer	Julien Nabet <serval2412@yahoo.fr>	2021-11-07 21:58:53 +0100
commit	73334560b2 (patch)
tree	b5bc4f69dd
parent	6be03ac71e (diff)
Replace some macros in forms part 16

Thank you Xisco for having spotted it!

Change-Id: Ie0eb2a7e0e9f4c4fc12b83a233553a8713d6a6f2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125420
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-11-17 21:45:29 +01:00
Julien Nabet 01878ce321 Replace some macros in forms part 17
Remove FRM_RES_STRING + PROP + PROPERTY_FLAGS

Change-Id: I11befedbe83ad9d7c3f3f4d689230ffe422c0770
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124830
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-11-08 07:04:47 +01:00
Julien Nabet 73334560b2 Replace some macros in forms part 16
Remove DEFAULT_DECLARE_SUBTYPE + EXCEPT + EXPAND_PROP_INIT
+ DECLARE_DEFAULT_CLONE_CTOR + DECLARE_DEFAULT_LEAF_XTOR + FORWARD_TO_PEER_1
+ IMPLEMENT_DEFAULT_CLONING
+ ADD_ENTRY (include removing:
/home/julien/lo/libreoffice/forms/source/xforms/convert.cxx:56:14: error: unused function 'lcl_toXSD_bool' [-Werror,-Wunused-function]
    OUString lcl_toXSD_bool( const Any& rAny )
             ^
/home/julien/lo/libreoffice/forms/source/xforms/convert.cxx:60:9: error: unused function 'lcl_toAny_bool' [-Werror,-Wunused-function]
    Any lcl_toAny_bool( const OUString& rStr )
        ^
/home/julien/lo/libreoffice/forms/source/xforms/convert.cxx:67:14: error: unused function 'lcl_toXSD_double' [-Werror,-Wunused-function]
    OUString lcl_toXSD_double( const Any& rAny )
             ^
/home/julien/lo/libreoffice/forms/source/xforms/convert.cxx:80:9: error: unused function 'lcl_toAny_double' [-Werror,-Wunused-function]
    Any lcl_toAny_double( const OUString& rString )
        ^
)

Change-Id: I1e6923922b7037e8d1e9d009b05a27111c94b6fa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124827
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-11-07 21:58:53 +01:00
Julien Nabet f63cf9e83a Replace some macros in forms part 15
Remove REGISTER_VOID_PROP + REGISTER_BOOL_PROPERTY_RO + REGISTER_PROPERTY_RO + REGISTER_PROPERTY
+ PROPERTY_RO + PROPERTY + REGISTER_PROPERTY_BOOL + REGISTER_BOOL_PROPERTY
+ REGISTER_PROPERTY_API

Change-Id: Ia38d75e89aafc5788bc143aae864eac9ad5bb86d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124815
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-11-07 15:29:02 +01:00
Julien Nabet 39e1d23982 Replace some macros in forms part 14
Remove DEFAULT_IMPLEMNENT_SUBTYPE + SET_PROPERTY
Change-Id: Ic1ab69076017eeb58cefb3dbecd385f1b862c031

Change-Id: I91230d25e8eb11c6c0dd6cec920c6bd5ec958bb3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124808
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-11-07 12:47:17 +01:00
Julien Nabet a222206122 Replace some macros in forms part 13
Remove DECLARE_DEFAULT_CLONING + IMPLEMENT_DEFAULT_TYPED_CLONING + DECLARE_XPERSISTOBJECT

Change-Id: Ib874cadcfd30c3ac9e2d12036482868c19a2d98b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124807
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-11-07 11:17:48 +01:00
Julien Nabet 278f91d961 Replace some macros in forms part 12
Remove IMPL_COLUMN

Change-Id: I7446b1146853c7a3b0820a681793e0146921da0b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124791
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-11-06 17:09:12 +01:00
Julien Nabet 91131f92dc Replace some macros in forms part 11
Remove DECL_COLUMN

Change-Id: Ie7533f8a52e7365215fbd878385f2bed0113b5aa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124788
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-11-06 11:55:36 +01:00
Julien Nabet 40a5ba66a8 Replace some macros in forms part 10
Remove DECL_PROP_IMPL
Change-Id: I4ba5e3252058b137cd314f0aed0caf60bb347852

Change-Id: Icfda67a31f465ebfe0c13761bdbdf9b024605dc5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124785
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-11-06 10:49:45 +01:00
Julien Nabet b4c4ca39d7 Replace some macros in forms part 9
Change-Id: I3bd6e118455c8ce86650797e05b7e40ca066eb53
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124784
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-11-06 08:13:40 +01:00
Julien Nabet 742b8befec Replace some macros in forms part 7
Remove BEGIN_DESCRIBE_PROPERTIES
Change-Id: Ic1f52f21037e890c4f7143a1283f34101dbb737a

Change-Id: I1bd902af7f634bb70313dda72b7a008bdda38f75
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124782
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-11-05 23:38:51 +01:00
Julien Nabet 642a033935 Replace some macros in forms part 8
Remove END_DESCRIBE_PROPERTIES
Change-Id: I844b71cd74f2b2c5306d0ad979ed56480892268c

Change-Id: Ia0aa75a3042ecc47bf434afb0de971d35ab78dfa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124783
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-11-05 23:34:46 +01:00
Julien Nabet 7b6554851f Replace some macros in forms part 6
Remove DECL_BOOL_PROP_IMPL + BEGIN_DESCRIBE_BASE_PROPERTIES

Change-Id: I1a55c9de46ae741045002241a2b0f5dfa32db8c4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124777
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-11-05 20:09:24 +01:00
Julien Nabet 5bfbaf3c80 Replace some macros in forms part 5
Remove DECL_IFACE_PROP_IMPL + DECL_PROP0 + DECL_PROP2

Change-Id: I8bd0222244a4cb0db33fa890056bf00e240fb4fb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124769
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-11-05 18:45:50 +01:00
Julien Nabet 9776087faf Replace some macros in forms part 4
Change-Id: Ic9310fcfa4fb3b1b7e64eaa2be3839ba89949a3e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124723
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-11-05 07:05:13 +01:00
Julien Nabet 3c1bd03780 Replace some macros in forms part 3
Remove DECL_BOOL_PROP1 + DECL_BOOL_PROP2

Change-Id: I8a07ac7b2b8ab724d5277a11b37cf10a6711fdb5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124664
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-11-04 07:04:01 +01:00
Julien Nabet d33613c067 Replace some macros in forms part 2
DECL_PROP4 + REGISTER_PROP_2 + REGISTER_PROP_3 + REGISTER_VOID_PROP_2

Change-Id: Ib7fdfed9f94fe0bb2c3f4f1398bc058af84823d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124615
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-11-03 18:50:30 +01:00
Julien Nabet de9f868323 Replace some macros in forms
DECL_IFACE_PROP2 + DECL_IFACE_PROP3 + DECL_IFACE_PROP4
+ DECL_BOOL_PROP3
Change-Id: Ibfe652001f4e914cad364222bcaf38dec69298e5

Change-Id: I432e045b9d071d61cd142bca66f40233cd59ef0b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124564
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-11-02 18:42:35 +01:00
Mike Kaganski bddfc92022 Prepare for removal of non-const operator[] from Sequence in forms
Change-Id: I2b7bd7935d7e620b9f283ec7c0548beeb97c140d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124366
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-10-30 09:28:10 +02:00
Mike Kaganski 2484de6728 Remove non-const Sequence::begin()/end() in internal code
... to avoid hidden cost of multiple COW checks, because they
call getArray() internally.
This obsoletes [loplugin:sequenceloop].

Also rename toNonConstRange to asNonConstRange, to reflect that
the result is a view of the sequence, not an independent object.

TODO: also drop non-const operator[], but introduce operator[]
in SequenceRange.

Change-Id: Idd5fd7a3400fe65274d2a6343025e2ef8911635d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123518
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-10-15 10:36:36 +02:00
Noel Grandin 1f9468fc29 use std::vector::insert instead of push_back
because it will pre-allocate space and often is optimised to memcpy

Change-Id: I03ed7915f2762d3d27e378638052a47a28bbf096
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123588
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-10-14 21:28:40 +02:00
Mike Kaganski 8a017d25a6 Avoid COW overhead using css::uno::Sequence
The scenarios are:

1. Calling sequence's begin() and end() in pairs to pass to algorithms
   (both calls use getArray(), which does the COW checks)
2. In addition to #1, calling end() again when checking result of find
   algorithms, and/or begin() to calculate result's distance
3. Using non-const sequences in range-based for loops, which internally
   do #1
4. Assigning sequence to another sequence variable, and then modifying
   one of them

In many cases, the sequences could be made const, or treated as const
for the purposes of the algorithms (using std::as_const, std::cbegin,
and std::cend). Where algorithm modifies the sequence, it was changed
to only call getArray() once. For that, css::uno::toNonConstRange was
introduced, which returns a struct (sublclass of std::pair) with two
iterators [begin, end], that are calculated using one call to begin()
and one call to getLength().

To handle #4, css::uno::Sequence::swap was introduced, that swaps the
internal pointer to uno_Sequence. So when a local Sequence variable
should be assigned to another variable, and the latter will be modified
further, it's now possible to use swap instead, so the two sequences
are kept independent.

The modified places were found by temporarily removing non-const end().

Change-Id: I8fe2787f200eecb70744e8b77fbdf7a49653f628
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123542
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-10-14 06:00:49 +02:00
Noel Grandin 1c46d2cabf loplugin:moveparam in forms
Change-Id: Ib3a6058e933eb7030cd6d7aef335f12fbd4e6bd3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123417
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-10-11 21:06:44 +02:00
Julien Nabet 7e7dd7f152 drop 'using namespace std' in desktop, e*, f*
Change-Id: I277dc957798093001f9a3935f97db8ac0314e6a7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123022
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-10-03 19:27:50 +02:00
Noel Grandin d72511eda9 gives names to all the Idles and Tasks
enforce it by making the constructor parameter non-default.

Change-Id: I321543e4dcf15ea0a43ad8cce91d2f8dc22df6ec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122766
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-28 19:35:13 +02:00
Chris Sherlock 4dd6af856d vcl: rename OutDevState to Stack
I have moved the header file to include/vcl/rendercontext as this will
eventually be part of the RenderContext split from OutputDevice.

State and associated enums have also been moved to the vcl namespace. I
have also moved ComplexTextLayoutFlags into the vcl::text namespace.

Change-Id: I0abbf560e75b45a272854b267e948c240cd69091
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121524
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-09-28 08:20:32 +02:00
Caolán McNamara 78cee244be make it possible to build required database stuff for fuzzing
The dbase filter requires dbaccess and connectivity but I don't want
to pull in the rest of the stuff that --disable-database-connectivity
currently disables that we still don't need for fuzzing if
--disable-database-connectivity is removed

Change-Id: Ia48d42295f9724b4dd2d3beb8e46ed23fc789f5c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122579
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-09-24 15:26:21 +02:00