Age | Commit message (Collapse) | Author |
|
before:
real 1m37.479s
user 1m30.682s
sys 0m0.261s
after:
real 0m44.166s
user 0m44.010s
sys 0m0.056s
Change-Id: I9832a2aac0278120fb62fe4a6a3e4507fc80e36f
Reviewed-on: https://gerrit.libreoffice.org/82129
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Iadb8621d7490b55ee6dbcadffb3c7e2527958424
Reviewed-on: https://gerrit.libreoffice.org/81655
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
(This helps rewrite code that silences Coverity unchecked dynamic_cast warnings,
like 57b89ea1c2ff07b53c3cc002e5ec9e52abd0c1bd "coverity#704563 Unchecked dynamic
cast", in a way that is cleaner and potentially executes faster.)
Change-Id: I3319c0eeec2aa822f686feacd499a76c8c9b9499
Reviewed-on: https://gerrit.libreoffice.org/80458
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Following up on b13421011d9377676e1adc282634991d5064a866 "better data
structures for some static const vars":
* Make the o3tl::sorted_vector ctor taking an initializer_list constexpr.
<https://wg21.link/P0202R3> "Add Constexpr Modifiers to Functions in
<algorithm> and <utility> Headers", which will be in C++2a and is already
implemented by recent libc++ and libstdc++ according to
<https://en.cppreference.com/w/cpp/compiler_support
#C.2B.2B2a_library_features>, makes std::sort constexpr but explicitly keeps
std::stable_sort non-constexpr. ("Algorithms stable_partition, inplace_merge
and stable_sort allocate memory, construct variables using placement new, use
unique_ptr and do other things not acceptable in constexpr expressions.
Making those algorithms constexpr seems to be a hard task that would require
a lot of intrinsics. Those algorithms are not marked with constexpr in this
wording.") But keep o3tl::sorted_vector::Resort (which was introduced in
c59355e936446fe55960209e543b072acb6b2170 "fdo#58793: re-implement
SwpHintsArray::Resort()") using std::stable_sort instead of std::sort, in
case that is relevant for its pre-exisiting uses.
* <https://wg21.link/P1004R2> "Making std::vector constexpr", which was voted
into C++2a according to <https://wg21.link/n4829> "Editors' Report --
Programming Languages -- C++", will make the relevant parts of std::vector
constexpr. But none of libc++, libstdc++, and MSVC implement that as of now.
* Introduce HAVE_CPP_CONSTINIT_SORTED_VECTOR to hide the constinit behind for
now for the one case from b13421011d9377676e1adc282634991d5064a866 "better
data structures for some static const vars" that can clearly be constinit
once constexpr std::vector is supported by compilers. The other three cases
(s_aContainerDocumentCommands in
chart2/source/controller/main/CommandDispatchContainer.cxx,
aMetricCompatibleMap in vcl/source/font/PhysicalFontCollection.cxx, and
aBlacklist in writerfilter/source/dmapper/PropertyMap.cxx) would each need a
constexpr OUString first. (Technically, the constinit would not even be
needed, but it nicely documents our intent that this will actually be
initialized at compile-time once compilers support that.)
Change-Id: Ibeb138f120528be3a7a09b3912143bf795fbab29
Reviewed-on: https://gerrit.libreoffice.org/79556
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
use compact, cache-friendly structures for some static const stuff
and add a std::initialiser_list constructor to o3tl::sorted_vector
Change-Id: I6a6049bf19a7f48dae1843a81cd2257944ada9d5
Reviewed-on: https://gerrit.libreoffice.org/79470
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Mainly fixing '....' and '..'
Change-Id: Ic928701b319868671b826d757dd94c296fd5e942
Reviewed-on: https://gerrit.libreoffice.org/78668
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
|
|
This should enable using move semantics where possible e.g. in standard
containers.
According to https://en.cppreference.com/w/cpp/language/move_constructor:
To make strong exception guarantee possible, user-defined move
constructors should not throw exceptions. For example, std::vector
relies on std::move_if_noexcept to choose between move and copy
when the elements need to be relocated.
Change-Id: I6e1e1cdd5cd430b139ffa2fa7031fb0bb625decb
Reviewed-on: https://gerrit.libreoffice.org/77957
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: Ib36382243552cd80dab431741f45dc767beccf59
Reviewed-on: https://gerrit.libreoffice.org/77993
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
> idlc/source/astexpression.cxx:330:68: error: implicit conversion from 'sal_Int32' (aka 'int') to 'float' changes value from 2147483647 to 2147483648 [-Werror,-Wimplicit-int-float-conversion]
> if (ev->u.fval < SAL_MIN_INT32 || ev->u.fval > SAL_MAX_INT32)
> ~ ^~~~~~~~~~~~~
> include/sal/types.h:209:32: note: expanded from macro 'SAL_MAX_INT32'
> #define SAL_MAX_INT32 ((sal_Int32) 0x7FFFFFFF)
> ^~~~~~~~~~~~~~~~~~~~~~~
> idlc/source/astexpression.cxx:414:58: error: implicit conversion from 'sal_uInt32' (aka 'unsigned int') to 'float' changes value from 4294967295 to 4294967296 [-Werror,-Wimplicit-int-float-conversion]
> if (ev->u.fval < 0.0 || ev->u.fval > SAL_MAX_UINT32)
> ~ ^~~~~~~~~~~~~~
> include/sal/types.h:210:32: note: expanded from macro 'SAL_MAX_UINT32'
> #define SAL_MAX_UINT32 ((sal_uInt32) 0xFFFFFFFF)
> ^~~~~~~~~~~~~~~~~~~~~~~
> idlc/source/astexpression.cxx:492:68: error: implicit conversion from 'sal_Int64' (aka 'long') to 'float' changes value from 9223372036854775807 to 9223372036854775808 [-Werror,-Wimplicit-int-float-conversion]
> if (ev->u.fval < SAL_MIN_INT64 || ev->u.fval > SAL_MAX_INT64)
> ~ ^~~~~~~~~~~~~
> include/sal/types.h:212:32: note: expanded from macro 'SAL_MAX_INT64'
> #define SAL_MAX_INT64 ((sal_Int64) SAL_CONST_INT64(0x7FFFFFFFFFFFFFFF))
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> idlc/source/astexpression.cxx:501:68: error: implicit conversion from 'sal_Int64' (aka 'long') to 'double' changes value from 9223372036854775807 to 9223372036854775808 [-Werror,-Wimplicit-int-float-conversion]
> if (ev->u.dval < SAL_MIN_INT64 || ev->u.dval > SAL_MAX_INT64)
> ~ ^~~~~~~~~~~~~
> include/sal/types.h:212:32: note: expanded from macro 'SAL_MAX_INT64'
> #define SAL_MAX_INT64 ((sal_Int64) SAL_CONST_INT64(0x7FFFFFFFFFFFFFFF))
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> idlc/source/astexpression.cxx:574:58: error: implicit conversion from 'sal_uInt64' (aka 'unsigned long') to 'float' changes value from 18446744073709551615 to 18446744073709551616 [-Werror,-Wimplicit-int-float-conversion]
> if (ev->u.fval < 0.0 || ev->u.fval > SAL_MAX_UINT64)
> ~ ^~~~~~~~~~~~~~
> include/sal/types.h:213:32: note: expanded from macro 'SAL_MAX_UINT64'
> #define SAL_MAX_UINT64 ((sal_uInt64) SAL_CONST_UINT64(0xFFFFFFFFFFFFFFFF))
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> idlc/source/astexpression.cxx:583:58: error: implicit conversion from 'sal_uInt64' (aka 'unsigned long') to 'double' changes value from 18446744073709551615 to 18446744073709551616 [-Werror,-Wimplicit-int-float-conversion]
> if (ev->u.dval < 0.0 || ev->u.dval > SAL_MAX_UINT64)
> ~ ^~~~~~~~~~~~~~
> include/sal/types.h:213:32: note: expanded from macro 'SAL_MAX_UINT64'
> #define SAL_MAX_UINT64 ((sal_uInt64) SAL_CONST_UINT64(0xFFFFFFFFFFFFFFFF))
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Consitently use the new o3tl::convertsToAtLeast/Most(o3tl::roundAway(...), ...)
for all cases in coerce_value that check that a floating-point value falls into
an integer range, even those that don't cause a warning.
The new idlc/test/parser/conversion.tests is deliberately left out of
unoidl/CustomTarget_unoidl-write_test.mk. as unoidl-write doesn't support such
conversions from floating-point to integer types.
Change-Id: Ie00923e665f2bcb306e1e328614c75b9247512ee
Reviewed-on: https://gerrit.libreoffice.org/77353
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
When we shut down, we destroy the various caches, in the process of
which SalBitmap calls back into it's owning cache, causing a SIGSEGV.
Found while loading files from tdf#83426
Change-Id: I53db1621a0fdb75a8e66582662b0e2666499192b
Reviewed-on: https://gerrit.libreoffice.org/73387
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This takes the opening time from 55s to 48s for me.
Change-Id: Ia60fff33e9948e0bd6906c82b48aa30f8b2551bb
Reviewed-on: https://gerrit.libreoffice.org/72394
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I337c0f567112f95e2a1d762e511d5b632dd2892f
Reviewed-on: https://gerrit.libreoffice.org/71997
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
...where index_type has changed from ptrdiff_t to size_t, see <https://
github.com/cplusplus/draft/commit/7f2493e2e2d34b42a6c12c8806e536d4feb3aee3>
"P1227R2 Signed ssize() functions, unsigned size() functions". Ideally,
ece27693ba52417bc4b68045f5544a5cc43299dc "Adapt to C++2a std::span<>::index_type
being unsigned size_t" could be simplified now to use std::size_t, but there may
be build environments that include a C++2a <span> that hasn't been adapted to
P1227R2 yet.
Change-Id: I7bfc0da65d415ef06e94d95b5f62030aeb8b35f6
Reviewed-on: https://gerrit.libreoffice.org/69391
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Idd125c18bee1a39b9ea8cc4f8c55cddfd37c33e1
Reviewed-on: https://gerrit.libreoffice.org/68579
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I6554eb86326159b0da707539f45c411f61c0f3de
Reviewed-on: https://gerrit.libreoffice.org/68761
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
In favor of std::make_unique
Change-Id: I0428076a10fb7b61c5add994c9970661b375b82c
Reviewed-on: https://gerrit.libreoffice.org/68254
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
The code in sw/source/core/fields/reffld.cxx had turned into whack-a-mole: MSVC
needed the unreachable default:assert(false); to fall through to init some vars
to avoid C4701 ("potentially uninitialized local variable"). But Clang (with
!NDEBUG, and an implementation of assert marked as noreturn) reported that as
"fallthrough annotation in unreachable code", requiring the #ifdef NDEBUG guards
to be added. And now clang-cl (also with !NDEBUG, but with the MSVC
implementation of assert apparently not marked as noreturn) complained about
"unannotated fall-through between switch labels", which wold require the #ifdef
NDEBUG guards to be removed again.
O3TL_UNREACHABLE (inspired by LLVM's llvm_unreachable and underyling
LLVM_BUILTIN_UNREACHABLE) hopefully improves on that for all compilers involved.
For non-MSVC (i.e., Clang or GCC) it assumes that __builtin_unreachable is
supported (which it is at least for GCC 7, which is our current baseline per
README.md).
Change-Id: I4474f95664d97c3d0e506bab90f80d5ab252ec6e
Reviewed-on: https://gerrit.libreoffice.org/67232
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...see <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0122r7.pdf>
"span: bounds-safe views for sequences of objects". o3tl::span is still an
incomplete approximation of std::span; removed those o3tl::array_view members
that are not present in std::span (and were not used in the code).
Relies on C++17 __has_include to use standard <span> where available (e.g., in
LLVM 7 libc++).
Change-Id: I82a7e246b61b2456fa6183025d25eec4121ad3c9
Reviewed-on: https://gerrit.libreoffice.org/66215
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I5043c787dcc3b78bc7fdff130564801194e39f46
Reviewed-on: https://gerrit.libreoffice.org/66177
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...now that all of its uses have been replaced with C++17 <string_view>.
The LO-specific o3tl::basic_string_view ctors with OString and OUString params
have meanwhile been replaced with OString and OUString conversion functions (in
dac7be50cff94e0c34cdca5ac7e35c19685c40c1 "o3tl::string_view -> std::string_view
(in configmgr)"), the ctor with OUStringLiteral turned out to be no longer(?)
needed anyway, and the LO-specific o3tl::toOUString has meanwhile been replaced
with an OUString ctor with std::u16string_view param (in
6856da30665705be6380e84cf55de954c41f15d1 "o3tl::string_view -> std::string_view
(in embedserv)").
Change-Id: Ie5215b07e2387560fb7e94de8b5a963241539c64
Reviewed-on: https://gerrit.libreoffice.org/66144
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
(The unnecessary os.setstate(std::ios_base::failbit) was due to a misreading of
C++17 [ostream.formatted.reqmts]/1.)
Change-Id: I7d8285230cb316c7af45c76029e9629517d05d56
Reviewed-on: https://gerrit.libreoffice.org/65217
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...but for safety, leave the configure.ac check in for some longer.
o3tl::array_view::max_size (include/o3tl/array_view.hxx) and
o3tl::basic_string_view::max_size (include/o3tl/string_view.hxx) started to
produce loplugin:staticmethods warnings, which I silenced by /not/ making the
functions static. Those classes are meant to be temporary drop-in replacements
for standard classes (std::span slated for C++20, prev. std::array_view; and
std::basic_string_view, resp.), so should have the same behavior as their
standard counterparts (and making the functions static would likely cause
loplugin:staticaccess warnings at call sites).
Change-Id: If21674dbf02886f453ca447544e37b184df5a25e
Reviewed-on: https://gerrit.libreoffice.org/64768
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...after <https://gerrit.libreoffice.org/63951> "Bump (Linux) GCC baseline to
7.0.0". (In some cases, those checks now need to check for __clang__, which was
implicitly covered in the past by Clang consistently reporting to be
GCC 4.2.1.)
Change-Id: I860fef8c4ca41c22a7541f0fb2d34b37d1d69bed
Reviewed-on: https://gerrit.libreoffice.org/63952
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...after 206b8c4ae320d7d8614f21800d8f77fa29f8f5ff "On Windows, check for at
least Visual Studio 2017 version 15.7"
Change-Id: I38ee86e1649bbdc828a7e328f2dbbac0dc163c8a
Reviewed-on: https://gerrit.libreoffice.org/64250
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
which seem to have snuck back in since the great rounds of removals.
Change-Id: I85f7f5f4801c0b48dae8b50f51f83595b286d6a1
Reviewed-on: https://gerrit.libreoffice.org/62229
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
We still do our own cleanup of the LRU map, as we can't drop
any fonts in use.
Change-Id: I8ec5c6ce8f80893635621357e9085950e7010f5b
Reviewed-on: https://gerrit.libreoffice.org/61455
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
This way the font cache can correctly invalidate the cached glyph
rects when a font is dropped from the cache.
Change-Id: I050866099742334f01cac1b872228a017ddb5e9b
Reviewed-on: https://gerrit.libreoffice.org/61371
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
and add a new method erase_extract to o3tl::sorted_vector, otherwise
there is no decent way to extract an element from such a vector without
freeing it.
Change-Id: I769782c04a54a2d7433e8349c99134f997a54689
Reviewed-on: https://gerrit.libreoffice.org/61345
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
After the move the std::pair is invalid.
That caused invalid iterators on lookups - hard to debug...
Also adds an assertion to warn if size of map and list differ.
Change-Id: Ib987d47963d5e1009d64a96dcdd588a0bc27cd77
Reviewed-on: https://gerrit.libreoffice.org/61451
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
and a couple more utility methods to o3tl::sorted_vector to make this
easier
Change-Id: Iebbbb8899b67fffa1ac98ae46b7fa70a7e35f866
Reviewed-on: https://gerrit.libreoffice.org/61344
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
and add some unit tests
Change-Id: I9a01c9fa2fbbf3a553663a980ee6e958f9819645
Reviewed-on: https://gerrit.libreoffice.org/60737
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
and update o3tl::sorted_vector to handle that
Change-Id: I11a9ec3ec09f835cbd7e49ccda133b9f210d761e
Reviewed-on: https://gerrit.libreoffice.org/59931
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I7579ff88d34c931a51c820b53960a281e6e3678e
Reviewed-on: https://gerrit.libreoffice.org/59763
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...not 16-bit unsigned. Word2007RTFSpec9.docx states "A small number of control
words take values in the range −2,147,483,648 to 2,147,483,647 (32-bit signed
integer)." and for \picwN, \pichN, \picwgoalN, and \pichgoalN it states "The N
argument is a long integer."
This was found with Clang's new -fsanitize=implicit-conversion during
CppunitTest_writerfilter_rtftok, where
writerfilter/qa/cppunittests/rtftok/data/pass/TCI-TN65GP-DDRHDLL-partial.rtf
contains "\pich81306":
> Testing file:///home/sbergman/lo/core/writerfilter/qa/cppunittests/rtftok/data/pass/TCI-TN65GP-DDRHDLL-partial.rtf:
[...]
> writerfilter/source/rtftok/rtfdispatchvalue.cxx:770:48: runtime error: implicit conversion from type 'int' of value 81306 (32-bit, signed) to type 'sal_uInt16' (aka 'unsigned short') changed the value to 15770 (16-bit, unsigned)
> #0 in writerfilter::rtftok::RTFDocumentImpl::dispatchValue(writerfilter::rtftok::RTFKeyword, int) at writerfilter/source/rtftok/rtfdispatchvalue.cxx:770:48 (instdir/program/libwriterfilterlo.so +0xb96f2f)
> #1 in writerfilter::rtftok::RTFTokenizer::dispatchKeyword(rtl::OString const&, bool, int) at writerfilter/source/rtftok/rtftokenizer.cxx:311:29 (instdir/program/libwriterfilterlo.so +0xd86c93)
> #2 in writerfilter::rtftok::RTFTokenizer::resolveKeyword() at writerfilter/source/rtftok/rtftokenizer.cxx:243:12 (instdir/program/libwriterfilterlo.so +0xd84b06)
> #3 in writerfilter::rtftok::RTFTokenizer::resolveParse() at writerfilter/source/rtftok/rtftokenizer.cxx:123:27 (instdir/program/libwriterfilterlo.so +0xd8299a)
> #4 in writerfilter::rtftok::RTFDocumentImpl::resolve(writerfilter::Stream&) at writerfilter/source/rtftok/rtfdocumentimpl.cxx:786:27 (instdir/program/libwriterfilterlo.so +0xbf03bd)
> #5 in RtfFilter::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at writerfilter/source/filter/RtfFilter.cxx:144:20 (instdir/program/libwriterfilterlo.so +0x132d911)
> #6 in RtfTest::load(rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int) at writerfilter/qa/cppunittests/rtftok/testrtftok.cxx:58:27 (workdir/LinkTarget/CppunitTest/libtest_writerfilter_rtftok.so +0x15c6e)
> #7 in test::FiltersTest::recursiveScan(test::filterStatus, rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int, bool) at unotest/source/cpp/filters-test.cxx:130:20 (workdir/LinkTarget/CppunitTest/../Library/libunotest.so +0x5724c)
> #8 in test::FiltersTest::testDir(rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int, bool) at unotest/source/cpp/filters-test.cxx:155:5 (workdir/LinkTarget/CppunitTest/../Library/libunotest.so +0x57ec9)
> #9 in RtfTest::test() at writerfilter/qa/cppunittests/rtftok/testrtftok.cxx:78:5 (workdir/LinkTarget/CppunitTest/libtest_writerfilter_rtftok.so +0x16214)
(Needs to add o3tl::clamp as a compatibility wrapper for C++17 std::clamp.)
Change-Id: I515e70a435c2585777062fd5a27d1de8ddbe1b74
Reviewed-on: https://gerrit.libreoffice.org/59038
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins
|
|
rtl/string.hxx and rtl/ustring.hxx both unnecessarily #include <sal/log.hxx> (and don't make use of it themselves), but many other files happen to depend on it.
This is a continuation of commit 6ff2d84ade299cb3d14d4110e4cf1a4b8070c030 to be able to remove those unneeded includes.
This commit adds missing headers to every file found by:
grep -FwL sal/log.hxx $(git grep -Elw 'SAL_INFO|SAL_INFO_IF|SAL_WARN|SAL_WARN_IF|SAL_DETAIL_LOG_STREAM|SAL_WHERE|SAL_STREAM|SAL_DEBUG')
to directories from filter to jvmfwk
Change-Id: I2a73d63f2aaef5f26d7d08957daaa8a30b412ac5
Reviewed-on: https://gerrit.libreoffice.org/58204
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
...by removing explicitly user-provided functions that do the same as their
implicitly-defined counterparts, but may prevent implicitly declared copy
functions from being defined as non-deleted in the future
Change-Id: If3430e23fff7bb0da12ae20579696869bdf9b3d8
Reviewed-on: https://gerrit.libreoffice.org/58082
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Ibb0f883353b6d172275744eaa59d27ba39930623
Reviewed-on: https://gerrit.libreoffice.org/55264
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
|
|
Change-Id: I00f336ee4eced431155c79bee6e2373e145ae95c
Reviewed-on: https://gerrit.libreoffice.org/54780
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...that ignore the out-parameter integral part
Change-Id: I05f07c1a8909023232f8aecf75ea5541d4eb81ca
Reviewed-on: https://gerrit.libreoffice.org/54474
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
|
|
"tdf#108608 more Draw text editing responsiveness fixes"
lru_map is fine on Windows, was a bug in the new clear method I
added.
Change-Id: I27565675dfe0f57e2ba3c3e0c50297770761dc6a
Reviewed-on: https://gerrit.libreoffice.org/52728
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Turns out Windows is rather slow at at calculating glyph outlines
(compared to Linux), I'm guessing it does no caching at all, so
just add our own little cache.
I tried to use o3tl::lru_map here, but it crashes under MSVC2015.
Change-Id: I78d2a787ec8f734fa821f41f13236771efa1c8d4
Reviewed-on: https://gerrit.libreoffice.org/52623
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
ofz#6433 head-use-after-free
ofz#6435 bad-cast
Change-Id: Ic43edbab68d96e852039c3247853074180fd5091
Reviewed-on: https://gerrit.libreoffice.org/49984
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
a failed position returns false, but stays at the failed position, so
next time its called without moving it then it returns true
store what we return for a given position for reuse if the position
doesn't change
Change-Id: I404c65ac89eb6f5c867f62a62028b87effdbcbf8
Reviewed-on: https://gerrit.libreoffice.org/49308
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Id9d038d50d5b6335a2f354c759b2c1e5dd413cec
Reviewed-on: https://gerrit.libreoffice.org/49037
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I4f15a41b7a67abe9f2c45b6004948decd58a8360
Reviewed-on: https://gerrit.libreoffice.org/48832
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: Ie0a7c29428e686e5c480997b84b8d12e5be4539f
Reviewed-on: https://gerrit.libreoffice.org/48790
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
(where it is not actually needed), and instead include it where needed
Change-Id: I107f8d4002d3001393b89834dd30a30b0c53a792
Reviewed-on: https://gerrit.libreoffice.org/48152
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
|
|
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: I7cb2c6ff2421d615599d178dc6eb3d62dd1becf7
|
|
... so prevent it from using __builtin_mul_overflow().
Change-Id: Id716f88abb0385701b6df42353b663479abfd496
|
|
Change-Id: Ic45692152b039c0ee2f5659d7739c3a2517c5e83
Reviewed-on: https://gerrit.libreoffice.org/43876
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|