Age | Commit message (Collapse) | Author |
|
remove a couple of string copies in the XML parser, which is always a
hot path
Change-Id: I84460ce13fb197bc7a3d354ff4c39d6939ff1d7e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96313
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
to look for the
x.get() == null
pattern, which can be simplified to
!x
Change-Id: I0eddf93257ab53ab31949961d7c33ac2dd7288ea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95400
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I76cbd5d3e65f0b392d713a51607f5c88dae79593
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95101
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Continue what commit aadda5d17f6e422da143ea774f759bfc5f629c5b
started wrt. unit-less draw:angle attributes in ODF >= 1.2:
* ODF 1.3 files don't ever have unit-less draw:angle interpreted as
10th of degree
* import unit-less draw:angle as degree, except if it's ODF 1.0/1.1 or
it's ODF 1.2 written by OOo/LO < 7.0, then 10th of degree
* export draw:angle with "deg", which LO 4.4 and newer can read; except
if exporting ODF 1.0/1.1 or ODF 1.2 Extended (compatibility mode),
then 10th of degree (unit-less)
The only problem with this is that if you store a file as ODF 1.2
Extended (compatibility mode) and load it with LO 7.0 it will interpret
the angle wrong, but nothing's perfect...
Change-Id: I3771e6571afd40e44b6f7890dacf18c28841610f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94443
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
|
|
since most of the call sites already do, and we can skip the
slow path this way.
Change-Id: I64ed30c51324e0510818f42ef838f97c401bb6dd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90326
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I01c1f3328d04cf6ea7c76fab9547970387b968e5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91551
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This reverts commit d4d37662b090cb237585156a47cd8e1f1cbe2656.
Now that we know that making fields has negative side effects
like disabling assignment operator generation.
Change-Id: Idef4937b89a83d2efbfaf0ab87d059a0143c0164
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90364
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
The critical part was
(1) calling m_pFixedContent->Characters instead of
m_pFixedContent->characters in OXMLCharContent
(2) calling OXMLReportElementBase::EndElement instead of
OXMLReportElementBase::endFastElement in OXMLFixedContent
Also
(3) add a bunch of debugging logging to help find this
(4) fix various characters() methods that can no longer
rely on being called once for text content in a node
Change-Id: Ib8ea88c5ff377311ca70e4292cad6d1f7f7c7323
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89589
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...now that macOS builds are guaranteed to have std::optional since
358146bbbd1b9775c12770fb5e497b6ec5adfc51 "Bump macOS build baseline to
Xcode 11.3 and macOS 10.14.4".
The change is done mostly mechanically with
> for i in $(git grep -Fl optional); do
> sed -i -e 's:<o3tl/optional\.hxx>\|\"o3tl/optional\.hxx\":<optional>:' \
> -e 's/\<o3tl::optional\>/std::optional/g' \
> -e 's/\<o3tl::make_optional\>/std::make_optional/g' "$i"
> done
> for i in $(git grep -Flw o3tl::nullopt); do
> sed -i -e 's/\<o3tl::nullopt\>/std::nullopt/g' "$i"
> done
(though that causes some of the resulting
#include <optional>
to appear at different places relative to other includes than if they had been
added manually), plus a few manual modifications:
* adapt bin/find-unneeded-includes
* adapt desktop/IwyuFilter_desktop.yaml
* remove include/o3tl/optional.hxx
* quote resulting "<"/">" as "<"/">" in officecfg/registry/cppheader.xsl
* and then solenv/clang-format/reformat-formatted-files
Change-Id: I68833d9f7945e57aa2bc703349cbc5a56b342273
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89165
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
essentially, this duplicates and converts the service in
xmlscript/source/xmlflat_impexp/
and then converts it to use SvXMLImport APIs, stripping about 3 layers
of unnecessary indirection in the process.
Also improve some exception throwing in sax/ to make the next
programmers life easier when finding the source of exceptions.
Change-Id: I1ac552ee0565349e8322a55f6f609cf9f4521cab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89084
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
found by a more aggressive variant of loplugin:unusedvariables.
This is my first pass, committing the simplest and most obviously
unnecessary vars
Change-Id: I9676a6e39a101937097788548764506c93811c57
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87414
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ib58c66590c60175d7984af55d23b7c55a6a2383e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86828
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Ice7c0ecc8ee05a5c3b0af458ceeee8191bdde322
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86752
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
found using 'git grep', I tried using clang-tidy, but it only
successfully found a tiny fraction of these
Change-Id: I61c7d85105ff7a911722750e759d6641d578da33
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86526
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I1548a76fdc03afee68f1e5c01bc665e616f2edf2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86501
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I6d32942960a5e997f16eb1301c45495661cd4cea
Reviewed-on: https://gerrit.libreoffice.org/85514
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Limit special MSO ID check for attribute values.
Follow-up of commit c5d37d324cd6d17114c209de1862344ad58a1d93.
Change-Id: I0f16b0df0c5575b799bb505a93c660c15b3273c5
Reviewed-on: https://gerrit.libreoffice.org/84549
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
...with a boost::optional fallback for Xcode < 10 (as std::optional is only
available starting with Xcode 10 according to
<https://en.cppreference.com/w/cpp/compiler_support>, and our baseline for iOS
and macOS is still Xcode 9.3 according to README.md). And mechanically rewrite
all code to use o3tl::optional instead of boost::optional.
One immediate benefit is that disabling -Wmaybe-uninitialized for GCC as per
fed7c3deb3f4ec81f78967c2d7f3c4554398cb9d "Slience bogus
-Werror=maybe-uninitialized" should no longer be necessary (and whose check
happened to no longer trigger for GCC 10 trunk, even though that compiler would
still emit bogus -Wmaybe-uninitialized for uses of boost::optional under
--enable-optimized, which made me ponder whether this switch from
boost::optional to std::optional would be a useful thing to do; I keep that
configure.ac check for now, though, and will only remove it in a follow up
commit).
Another longer-term benefit is that the code is now already in good shape for an
eventual switch to std::optional (a switch we would have done anyway once we no
longer need to support Xcode < 10).
Only desktop/qa/desktop_lib/test_desktop_lib.cxx heavily uses
boost::property_tree::ptree::get_child_optional returning boost::optional, so
let it keep using boost::optional for now.
After a number of preceding commits have paved the way for this change, this
commit is completely mechanical, done with
> git ls-files -z | grep -vz -e '^bin/find-unneeded-includes$' -e '^configure.ac$' -e '^desktop/qa/desktop_lib/test_desktop_lib.cxx$' -e '^dictionaries$' -e '^external/' -e '^helpcontent2$' -e '^include/IwyuFilter_include.yaml$' -e '^sc/IwyuFilter_sc.yaml$' -e '^solenv/gdb/boost/optional.py$' -e '^solenv/vs/LibreOffice.natvis$' -e '^translations$' -e '\.svg$' | xargs -0 sed -i -E -e 's|\<boost(/optional)?/optional\.hpp\>|o3tl/optional.hxx|g' -e 's/\<boost(\s*)::(\s*)(make_)?optional\>/o3tl\1::\2\3optional/g' -e 's/\<boost(\s*)::(\s*)none\>/o3tl\1::\2nullopt/g'
(before committing include/o3tl/optional.hxx, and relying on some GNU features).
It excludes some files where mention of boost::optional et al should apparently
not be changed (and the sub-repo directory stubs). It turned out that all uses
of boost::none across the code base were in combination with boost::optional, so
had all to be rewritten as o3tl::nullopt.
Change-Id: Ibfd9f4b3d5a8aee6e6eed310b988c4e5ffd8b11b
Reviewed-on: https://gerrit.libreoffice.org/84128
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
ooo53770-1.odt contains an invalid attribute
style:style:use-optimal-row-height, which was round-tripped as an
unknown attribute, triggering the assert in CheckValidName().
This reveals a confusing mess of SvXMLNamespaceMap::GetKeyByAttrName
functions.
The bCache flag for one of them was accidentally inverted in commit
78f0d15893c56d7368ddd7ded4e70f2a3bb9d2f4 "loplugin:constantparam in xmloff/"
There are basically 2 use cases for this:
* XML element and attribute names, which are XML QName and contain at
most 1 ':'
* XML attribute values, which are namespace-prefixed and may contain
any number of ':' in the "local" part of the value
Because caching is explicitly disabled for Calc formulas, just resolve
the inconsistent bCache by always caching element and attribute names,
and never caching attribute values, so we need just 1 flag.
Change-Id: I363ea2229d0bf5c7199d61b0fee0d9f168911bfa
Reviewed-on: https://gerrit.libreoffice.org/83619
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I77e28f02516ab25ff6680970dc13d52cfa90eac1
Reviewed-on: https://gerrit.libreoffice.org/83620
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: Ia87e6e22e9a28b714d09c952fa9c52817b4dd21d
Reviewed-on: https://gerrit.libreoffice.org/83159
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
To mitigate the dangers of silently breaking ADL when moving enums into unnamed
namespaces (see the commit message of 206b5b2661be37efdff3c6aedb6f248c4636be79
"New loplugin:external"), note all functions that are affected. (The plan is to
extend loplugin:external further to also warn about classes and class templates,
and the code to identify affected functions already takes that into account, so
some parts of that code are not actually relevant for enums.)
But it appears that none of the functions that are actually affected by the
changes in this commit relied on being found through ADL, so no adaptions were
necessary for them.
(clang::DeclContext::collectAllContexts is non-const, which recursively means
that External's Visit... functions must take non-const Decl*. Which required
compilerplugins/clang/sharedvisitor/analyzer.cxx to be generalized to support
such Visit... functions with non-const Decl* parameters.)
Change-Id: Ia215291402bf850d43defdab3cff4db5b270d1bd
Reviewed-on: https://gerrit.libreoffice.org/83001
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
As with previous commit 18ae77a065cb8ae6940d4067f6ab7e99a3f74047, this
will start showing parse errors on invalid files which previously just
opened without warnings, silently losing the invalid stream part. Any
bug bisected to this commit is not a regression from this commit! The
real problem was already before, and was just disclosed by this (which
is the actual goal).
Also simplify unit test data for tdf#128820, which will now be enough
after the change.
A unit test (testN779627) revealed unexpected throws when parsing; this
was fixed.
Change-Id: I5a21b9001874ec6e3b8273c10043ef930bf1cc82
Reviewed-on: https://gerrit.libreoffice.org/82981
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
...and simplify the code a bit. It had been introduced with
0a1d5af2a18d6a062c45d65689fbce619922dcc8 "tdf#115429 sax: assert if exporting an
invalid XML attribute/element", apparently meant to be an assert(false) instead.
A `make check screenshot` didn't cause the (now active) assert to fire in my
local build.
Change-Id: I275661f290491ff2d094288522f98d77cb4662ec
Reviewed-on: https://gerrit.libreoffice.org/82631
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
Tested-by: Jenkins
|
|
in FastAttributeList::getUnknownAttributes,
shaves 5% off load time
Change-Id: I5acac243d7af0c6fb44cbc15832f9d322fa6c7f4
Reviewed-on: https://gerrit.libreoffice.org/81819
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
by 10%, by avoiding an OUString construction in a hot path
through
XMLTextColumnContext_Impl::XMLTextColumnContext_Impl
-> sax::Convert::convertNumber
Also changed XMLTextAnimationStepPropertyHdl::importXML
to take advantage of the modified convertNumber passing
convention.
Change-Id: I4e5503dbb094c88a09af8b6dc8c22b6c53f9eb75
Reviewed-on: https://gerrit.libreoffice.org/81726
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I385587a922c555c320a45dcc6d644315b72510e9
Reviewed-on: https://gerrit.libreoffice.org/81278
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ifbdb3e41eae665f7dcaf5301aaba2b6e4662cf48
Reviewed-on: https://gerrit.libreoffice.org/80855
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I9c16047012675474bc2b58f33a65dd10d8aafbf6
Reviewed-on: https://gerrit.libreoffice.org/80711
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
mostly so that my stringadd loplugin can point out places to improve
Change-Id: I9920ee1c99cdb6b811ba67ff9d8e32aa261884b5
Reviewed-on: https://gerrit.libreoffice.org/80618
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I391f8cb499a83f1f774fdcaa794169a218bdc7e5
Reviewed-on: https://gerrit.libreoffice.org/80189
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
And make it simple to disable the whole feature by setting
gb_DISABLE_PCH_REUSE=1, just in case.
Also work around a possible BOOST_ALL_NO_LIB mismatch when
using the common PCH.
Change-Id: I96fd507edf1ada6242ac225026250e5a588d0193
Reviewed-on: https://gerrit.libreoffice.org/79365
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Where reasonable means they are from a list of defines known not
to affect the system headers, and so they are safe to differ from
how the PCH was built. A bit hackish, but works in practice.
Change-Id: Ia00d2e4c56212aca05ba9d47abbb0d253998219f
Reviewed-on: https://gerrit.libreoffice.org/79364
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Change-Id: I1f8b626ae99bca6e31e7c4aa9c8a1fc016b76e5c
Reviewed-on: https://gerrit.libreoffice.org/79890
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: I793b7996c019b694e70569bc37f89e5b089e3296
Reviewed-on: https://gerrit.libreoffice.org/79078
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I5aacde7b6886bf47e79d055639e1b911da3be168
Reviewed-on: https://gerrit.libreoffice.org/78900
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
to avoid shape multiplication in a mixed environment.
MSO needs the special unescaped VML comment shape type
id "_x0000_t202" to avoid of generating also DrawingML
shapes from the VML ones. Calc export escaped the shape
type ids ("_x005F_x0000_t202"), keeping also the DrawingML
shapes, so every round trip between LO and MSO resulted
more and more broken shapes in the document.
See also commit ea7274259a211170ee9f5a8714a2f9acd8bed6d8
"tdf#114842 Fix comment shape export for Calc".
Change-Id: I55b29146ebcdc20cf4f53464bf318fb34bfc5934
Reviewed-on: https://gerrit.libreoffice.org/78831
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
To complete this:
https://gerrit.libreoffice.org/#/c/78312/
This is a massive replace for lines ending with
".." instead of "..."
It passed "make check" on Linux.
Change-Id: I07fa7b2e30ba9ea17a1f9a5e21c57216ba958efe
Reviewed-on: https://gerrit.libreoffice.org/78356
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
|
|
Change-Id: I300d14d580d450ec338129918955651b9d40d5d2
Reviewed-on: https://gerrit.libreoffice.org/78059
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Icf5c337164b71aab10dd960815eee516822c276c
Reviewed-on: https://gerrit.libreoffice.org/77990
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I73e8322107d4c3f8890f6c1d059e4853de489d6e
Reviewed-on: https://gerrit.libreoffice.org/77932
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ibaa9ebd6440d9229ba313f4c130f5752d432b338
Reviewed-on: https://gerrit.libreoffice.org/77792
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ib61f500f7f9199e524d6ba4de419eda7fb30abcf
Reviewed-on: https://gerrit.libreoffice.org/77761
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Use range-based loops, STL and comphelper functions
Change-Id: If738d8f4e792c4686870183b0c0fdfbb61fd3351
Reviewed-on: https://gerrit.libreoffice.org/77245
Tested-by: Jenkins
Reviewed-by: Arkadiy Illarionov <qarkai@gmail.com>
|
|
Change-Id: Ia40e7a9031ae5a8385a84f177a9444f4d4f348b4
Reviewed-on: https://gerrit.libreoffice.org/77302
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I2b8122f9633a0c4450e7a453abdb15f14c16d178
Reviewed-on: https://gerrit.libreoffice.org/76655
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I7dd015a497ffe8b953652f22aa8bbb35e0788efd
Reviewed-on: https://gerrit.libreoffice.org/76356
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I8c45c9d5e0a6bc7439aa4d0827e4752ec364d12c
Reviewed-on: https://gerrit.libreoffice.org/76247
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
and improve the pahole script so I can just run it once over the whole
codebase
Change-Id: I7e1775974a3a61f8c0e40646158f01163ace60cc
Reviewed-on: https://gerrit.libreoffice.org/76122
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: If863d28c6db470faa0d22273020888d4219e069e
Reviewed-on: https://gerrit.libreoffice.org/74559
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|