Commit Graph
361 Commits
Author SHA1 Message Date
Michael Weghorn 1b78fdde8d canvas: Extract dummy impls for some XCanvasFont methods to new base class
Extract some dummy implementations for XCanvasFont methods
from cairocanvas::CanvasFont to a new CanvasFontBase base
class. That will allow reusing them in other XCanvasFont
implementations that currently have equivalent implementations
for those methods by themselves.
That allows to deduplicate code a bit.

Change-Id: I964330de605368eaa665c1ddc60db7b6e45d9fcb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208848
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-08-01 07:35:07 +02:00
Xisco Fauli a03cef8e94 canvas: replace boost::adaptors::reverse with std::views::reverse
Change-Id: I1f0275d2b4dc47223cf8a925c918c3062d82b45b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206651
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-16 01:21:17 +02:00
Andrea Gelmini 6a4a4a8f44 Fix "is build"->"is built"
Change-Id: Ic85f6bd9a152eeaf5cef15570899d491e864d8d4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198921
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-02-09 12:06:38 +01:00
Noel Grandin 40e5bc6e68 lets have just one getB2DRange function/method
Change-Id: I5081abca177c6fb8bd21d971d93dc115d57de294
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192589
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-10-19 12:13:53 +02:00
Caolán McNamara 87a553be37 cid#1665198 'Constant' variable guards dead code
dead code now since:

commit e7b460f919
Date:   Sat Aug 30 15:23:11 2025 +0200

    BitmapEx->Bitmap in canvas

    now that Bitmap supports transparency

Change-Id: Ibc296ea82953e571390eea01628adfa71a4f6ab9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190517
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-09-02 16:15:37 +02:00
Mike Kaganski f9c16559a8 canvas::tools -> canvastools
At least some IDEs are confused by our multitude of `tools` namespaces,
and show errors like `namespace "tools" is ambiguous`.
This removes one such namespace. The idea is to drop all but the one
in /tools (that has tools::Long and tools::Rectangle).

Change-Id: I6077f50ad0fcc49abfadc75d9948ab63df829ff9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189948
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2025-08-20 15:23:07 +02:00
Xisco Fauli d991795635 canvas: simplify calcTransformedRectBounds
Change-Id: Ia0314a985ae2183727587ad254faec12ee49b66c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176769
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-11-19 16:14:13 +01:00
Xisco Fauli b20156432f canvas: simplify calcRectToOriginTransform
Change-Id: I851d9d11c9d3f3c34353913a146ad168a98dc3d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176771
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2024-11-19 15:48:30 +01:00
Xisco Fauli e289fdedeb canvas: simplify getViewStateTransform/getRenderStateTransform
Change-Id: If9487aff0d80f7ee9d368cd97bc2828a856cc392
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176766
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2024-11-19 15:45:34 +01:00
Noel Grandin b61e0f2b53 loplugin:reftotemp in canvas
Change-Id: I0a038cf32e05dab59b1cedcf06ecd38b48d76feb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176257
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-08 13:23:57 +01:00
Noel Grandin 91106b5b61 loplugin:passstuffbyref in avmedia..canvas
Change-Id: I916a6431eb0720af16dcb5aa46b758f92dbe4ec4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176179
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-07 10:03:42 +01:00
Noel Grandin f840d3c939 loplugin:ostr in canvas
Change-Id: I6fe0ed24a42394936975e763aba9dc3625a373ce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167205
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-05-06 21:31:14 +02:00
Mike Kaganski 8755c80018 Drop uses of css::uno::Sequence::getConstArray in canvas .. connectivity
where it was obsoleted by commits 2484de6728
(Remove non-const Sequence::begin()/end() in internal code, 2021-10-15) and
fb3c04bd19 (Drop non-const Sequence::operator[]
in internal code 2021-11-05).

Change-Id: I9467028fd1a7eeafad7f0dd776a91a9a40770b48
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166816
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-04-29 23:15:33 +02:00
Mike Kaganski 690526f95e Generalize basegfx::fround for templated return type
And use it when assigning to tools::Long

Change-Id: I0814d7bac9cdd48191ba69c64e3b12a4973b3417
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166071
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-04-15 06:34:33 +02:00
Arnaud VERSINI 6a83118936 canvas : use more OUString literals
Change-Id: I539e1e6d04299154bfe1ad2cf0362bdf3d96537b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163051
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-02-08 04:37:27 +01:00
Julien Nabet d0b0908e62 c++20: use std::erase instead of std::removed followed by erase (part 2)
Change-Id: I0222f0f53f387dd57bd674b1e137b53487f4e1d3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159611
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-11-18 20:27:47 +01:00
Julien Nabet be1093cce5 c++20: use std::erase instead of std::removed followed by erase
See https://en.cppreference.com/w/cpp/container/vector/erase2

Change-Id: I26744e74b34d1efa1524a1f88aa3af9e153bc9ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159515
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-11-17 08:29:04 +01:00
Noel Grandin 7ffa7e56c0 loplugin: new global analysis locking2
look for methods where we don't need to guard access
to the field, because the field is never modified

Change-Id: I62c33cc3f52881557515765d3733c4afc78547aa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155836
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-19 17:40:47 +02:00
Tomaž Vajngerl f896bbcffe basegfx: replace typedef with a class B2ISize based on Size2D
Change-Id: Iaf7d02bb236f81a38a67a1430a718b6c3c78efae
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139708
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-07-13 13:19:00 +02:00
Noel Grandin a1d3a0f8ec BaseMutex->std::mutex in canvas::CachedPrimitiveBase
Change-Id: I9f7c23a4880ea09f3c9a98ad7d27b27bf35483ed
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147421
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-22 10:15:29 +00:00
Stephan Bergmann 19691c3b68 Revert all the recent loplugin:unocast changes
...as obsoleted by ef53355355 "Rudimentary support
for dynamic_cast on UNO proxy objects".

This reverts all of:
4cfcc9ac37 "loplugin:unocast (framework::Desktop)"
03efbf72f4 "loplugin:unocast
 (vclcanvas::TextLayout)"
80099fdd51 "loplugin:unocast (SalGtkXWindow)"
cc147f576d "loplugin:unocast
 (sdext::presenter::CachablePresenterView)"
40db42be1d "loplugin:unocast
 (vclcanvas::CanvasFont)"
2d1e7995ea "loplugin:unocast (CairoColorSpace)"
4c0bbe4bd9 "loplugin:unocast
 (canvas::ParametricPolyPolygon)"
8980366662 "loplugin:unocast
 (vclcanas::CanvasBitmap)"
d5e0c2c8db "loplugin:unocast
 (sfx2::DigitalSignatures)"
c0c4519e0d "loplugin:unocast
 (VCLXAccessibleComponent)"
feb8b833a6 "loplugin:unocast (VCLXDialog)"
1fa58cc6cc "loplugin:unocast (VCLXMultiPage)"
f481f036de "loplugin:unocast
 (DocumentSettingsSerializer)"
73df933f5f "loplugin:unocast
 (css::embed::EmbeddedUpdate)"
420165ab0e "loplugin:unocast
 (canvas::tools' StandardColorSpace, StandardNoAlphaColorSpace)"
9abe8ee067 "loplugin:unocast (MutableTreeNode)"
9f3022ceb0 "loplugin:unocast (VCLXTabPage)"
1be70dda02 "loplugin:unocast
 (vcl::unotools::VclCanvasBitmap)"
d6a70bb641 "loplugin:unocast
 (basegfx::unotools::UnoPolyPolygon)"
5a14f009e6 "loplugin:unocast
 (xmlsecurity::Certificate)"
99009c9535 "loplugin:unocast (sd::Annotation)"
0c7585c5fa "loplugin:unocast (sd::TextApiObject)"
24e14afd1b "loplugin:unocast
 (SignatureVerifierImpl)"
1a7ad0c10d "loplugin:unocast
 (pcr::PropertyEventTranslation)"
a97e2d2702 "loplugin:unocast (RangePageBreaks)"
19dfdf86ad "iloplugin:unocast
 (pcr::OFormattedNumericControl)"
f9785ea595 "loplugin:unocast
 (frm::OInterfaceContainer)"
5e5f40a4a9 "loplugin:unocast (ScVbaShapes)"
27b35b2c21 "loplugin:unocast (ScVbaShapeRange)"
cb3108f860 "cid#1517812 Dereference null return
 value"
feba0ddb15 "loplugin:unocast
 (weld::TransportAsXWindow)"
4d6c232165 "loplugin:unocast
 (oox::ForumlaImExportBase)"
4844c096a8 "loplugin:unocast
 (cairocanvas::SurfaceProvider)"
9a0b523e0a "loplugin:unocast
 (cairocanvas::CanvasBitmap)"
8a5648d8e5 "loplugin:unocast
 (cairocanvas::TextLayout)"
28c27a0623 "loplugin:unocast
 (cairocanvas::CanvasFont)"
53bc223cb3 "loplugin:unocast
 (cairocanvas::RepaintTarget)"
5f70b0b9f6 "loplugin:unocast (SvXMLImport)"
068187a898 "loplugin:unocast (VCLXWindow)"
88b4f96620 "loplugin:unocast
 (sfx2::sidebar::SidebarController)"
f1b7a69b28 "loplugin:unocast
 (SvxLineStyleToolBoxControl)"
ba76f0ba7e "loplugin:unocast
 (i18npool::Calendar_gregorian)"
840154daf9 "loplugin:unocast
 (framework::AddonsToolBarWrapper)"
b0e9c4c5f0 "loplugin:unocast
 (GrammarCheckingIterator)"
8ee6cfc965 "loplugin:unocast
 (ucb::ucp::ext::Content)"
5b8cd77c11 "loplugin:unocast
 (basic::SfxScriptLibraryContainer)"
9e73ff9fce "loplugin:unocast
 (sdext::presenter::PresenterNotesView)"
a98acca8fb "loplugin:unocast
 (SelectionChangeHandler)"
c0b59ad6e3 "Consistently use
 comphelper::getSomethingImpl<I>(aIdentifier, this)"
276e3ccbdd "loplugin:unocast
 (vclcanvas::RepaintTarget)"

Change-Id: I37c73e3422a5154bf6cb647640d2d3f23db8bc34
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145063
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-01-05 11:45:51 +00:00
Stephan Bergmann 4c0bbe4bd9 loplugin:unocast (canvas::ParametricPolyPolygon)
(See the upcoming commit introducing that loplugin:unocast on why such
dynamic_casts from UNO types are dangerous.)

Change-Id: I965d6ba17decda1fa055fb548aa9085d2e786bc0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144768
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-23 14:20:19 +00:00
Stephan Bergmann 420165ab0e loplugin:unocast (canvas::tools' StandardColorSpace, StandardNoAlphaColorSpace)
(See the upcoming commit introducing that loplugin:unocast on why such
dynamic_casts from UNO types are dangerous.)

Change-Id: I472e09870b51b89b89c643675ab46c38b4a0c6de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144753
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-22 13:38:00 +00:00
Tomaž Vajngerl c747486335 basegfx: replace typedef with a class B2DSize based on Size2D
Change-Id: Id8b3c2bcf0bf4be5aba2812b0edda479bc20c6a9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139683
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-09-11 17:16:59 +02:00
Stephan Bergmann 91ba9654ba Move tools/diagnose_ex.h to comphelper/diagnose_ex.hxx
...so that its TOOLS_WARN_EXCEPTION can be used in
comphelper/source/misc/logging.cxx in a follow-up commit.  (And while at it,
rename from diangose_ex.h to the more appropriate diagnose_ex.hxx.  The
comphelper module is sufficiently low-level for this immediate use case, so use
that at least for now; o3tl might be even more suitable but doesn't have a
Library until now.  Also, for the immediate use case it would have sufficed to
only break DbgGetCaughtException, exceptionToString, TOOLS_WARN_EXCEPTION,
TOOLS_WARN_EXCEPTION_IF, and TOOLS_INFO_EXCEPTION out of
include/tools/diagnose_ex.h into an additional new
include/comphelper/diagnose_ex.hxx, but its probably easier overall to just move
the complete include file as is.)

Change-Id: I9f3222d4ccf1a9ac29d7eb9ba1530d53e2affaee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138451
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-08-18 17:10:19 +02:00
Noel Grandin 08f757c32f clang-tidy modernize-pass-by-value in canvas
Change-Id: Ib6e1b6182d83b09dbf5e2aeb9cf3e4ca11d9f48b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134712
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-21 21:55:31 +02:00
Noel Grandin c68c744b68 pass unique_lock as param in WeakComponentImplHelperBase::disposing
so that subclasses can drop the lock while calling listeners

Change-Id: I6105438110af08f10b0ed50057b28172c3442b95
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127434
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-12-25 13:56:27 +01:00
Noel Grandin 439cb9d60d use comphelper::WeakComponentImplHelper in ParametricPolyPolygon
Change-Id: I923970389870ced5e8e310c0f73859117b1cedb9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127405
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-12-24 20:16:38 +01:00
Noel Grandin 25298930bc loplugin:flatten in canvas..cui
Change-Id: I208767eaa60d913fe2882403f1f9351eb08256f7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127224
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-12-21 15:55:46 +01:00
Mike Kaganski 1a58461bfa Prepare for removal of non-const operator[] from Sequence in canvas
Change-Id: Ifb96e496b0994b5fc66975b7aea0a60bcb4a3a03
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124345
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-10-29 06:50:51 +02:00
Noel Grandin e7c22593d1 loplugin:moveparam in canvas
Change-Id: I12538ca8c3578f37a4ef1e40640f5324bbdbb1d4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123371
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-10-11 13:32:44 +02:00
Noel Grandin a125236448 clang-tidy:readability-redundant-member-init
Change-Id: I48e6fb31df732805423b89ed91b6e4363a69b668
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121150
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-28 07:43:56 +02:00
Noel Grandin 4dc4065904 rtl::Static -> thread-safe static local
Change-Id: I9f8fe250813f4f376dc46c6f3d7e25e90fdbb50e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120566
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-17 22:40:40 +02:00
Noel Grandin 86dc8e1f62 fix big-endian code
after the transparency->alpha changes in ::Color

Change-Id: Ifbac6c8f37f18e8acaef0602ef414ae39449ad3c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117209
Tested-by: René Engelhard <rene@debian.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-06-15 10:21:30 +02:00
Noel ee7368f628 loplugin:refcounting in canvas
Change-Id: I7807e2e7fa7f9a68d36c103d8b1dba708350f8aa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111745
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-03-01 19:33:47 +01:00
Stephan Bergmann 042033f1e6 loplugin:stringviewparam: operator +
Change-Id: I044dd21b63d7eb03224675584fa143009c6b6008
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108418
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-12-29 16:42:33 +01:00
Noel 8332d6d820 loplugin:stringviewparam include comparisons with string literals
Change-Id: I8ba1214500dddaf413c506a4b82f43d63cda804b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106559
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-11-30 12:32:14 +01:00
George Bateman df9ff47f98 tdf#124176 Use #pragma once in canvas
This commit was carried out by a Python script, source of which
is at https://bugs.documentfoundation.org/show_bug.cgi?id=124176#c97.

Change-Id: Icd712adf20fa2dbaaea2fc33a0fd870c8595b7e2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100147
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-09-04 08:55:42 +02:00
Stephan Bergmann 99d281201c Throw detailed IllegalArgumentException regardless of OSL_DEBUG_LEVEL
...assuming that such an exception is rare enough that any performance impact
does not matter.  (The code was like this ever since its introduction in
9e2bf1d54a "INTEGRATION: CWS canvas02".)

This nicely avoids loplugin:unusedmember about unused mpStr and mnArgPos when
OSL_DEBUG_LEVEL is zero.

Change-Id: I2ad3e36e98a6811ae255525cf8159db89c78ad7f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100143
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Tested-by: Jenkins
2020-08-05 08:08:16 +02:00
Noel Grandin a2fc883173 use more std::container::insert instead of std::copy
which is both more compact code, and more efficient, since the insert
method can do smarter resizing

Change-Id: I17f226660f87cdf002edccc29b4af8fd59a25f91
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96948
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-06-24 08:43:55 +02:00
Stephan Bergmann e84d05483c Make loplugin:simplifypointertobool handle parenthesized expressions
...as discussed as an open TODO in the commit message of
fe6cce01c8 "Fix loplugin:simplifypointertobool for
libstdc++ std::shared_ptr".  The necessary changes across the code base have
been done fully automatically with the rewriting plugin on Linux.  (All those
changes apparently involve uses of macro arguments wrapped in parentheses in the
macro body, but always in conditionally-converted-to-bool contexts.  In other
contexts, such automatic rewriting would add the "bool" to the macro body, which
would be wrong in general, but we apparently get away with that sloppy coding
for now.)

The parenExprs_ stack that fe6cce01c8 had
introduced to treat such (then-undetected, it had turned out) parenthesized
cases now turns out to not be needed after all.

Change-Id: I2021f61c2e2805be7e18b38edf8744d186cac3cb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95010
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-05-28 09:48:09 +02:00
Noel Grandin e871c9cb7c loplugin:simplifybool in canvas..cui
Change-Id: Ib7c3b381ce4456e3d48538ee6f762ceaf2784fe1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94973
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-28 09:04:51 +02:00
Noel Grandin 898cbb22f0 use for-range on Sequence in basctl..canvas
Change-Id: Idad3d8fbe785c7b1b8b287a3227372adb2757de8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94260
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-15 14:00:48 +02:00
Noel Grandin 366d08f2f6 new loplugin:simplifypointertobool
Change-Id: Iff68e8f379614a6ab6a6e0d1bad18e70bc76d76a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91907
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-10 12:02:44 +02:00
Noel Grandin 4c016865f9 fix bug in extracting property
introduced with
    commit 17cd7dd708
    tdf#43671 set emphasis mark of vcl::Font (windows).
but has probably never been a problem because I guess this
propertyset almost always has 0 or 1 element.

Change-Id: I17c64e376ee81cc9f92173015d2632331c63ae0e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93643
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-07 19:27:58 +02:00
Stephan Bergmann b512ce255f Make upcasting css::uno::Reference ctor require complete types
The main reason for the "home-grown" UpCast introduced with
904b3d1fce "Up-cast conversion constructor for
css::uno::Reference" in 2013 was probably that we could not yet rely on C++11
std::is_base_of back then.  A (welcome) side effect was that the derived class
could be incomplete.

However, specializations of UpCast relying on whether or not T2 is incomplete
are obviously an ODR violation if the type is incomplete in some TUs and
complete (and derived from T1) in others.  And even if UpCast had internal
linkage, it would still be brittle that its behavior depends on the completeness
of T2 at the point of the template's instantiation, and not necessarily at the
point of use.

That means we should better base that ctor on std::is_base_of (which we can do
now since 39a1edd6fe "Make css::uno::Reference
upcast ctor LIBO_INTERNAL_ONLY"), which causes a compilation error at least on
Clang and GCC if the completeness requirements are not met.  This change fixes
all the cases where types need to be complete now, plus any resulting
loplugin:referencecasting warnings ("the source reference is already a subtype
of the destination reference").

Change-Id: Ieb9e3552e90adbf2c5a5af933dcb872e20661a2f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92950
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-04-27 07:19:30 +02:00
Noel Grandin 7fa4f64098 loplugin:flatten in canvas
Change-Id: If14af63ab4f8fc7b9807319a2100f371ee103465
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92481
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-04-18 21:59:55 +02:00
Noel Grandin 1178521759 loplugin:buriedassign in c*
Change-Id: Id14fed7e5c0f588ad3c927f12251432d12c1a7c8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92190
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-04-14 16:35:38 +02:00
Yukio Siraichi 8e173a965d tdf#130977 replace rtl::math::isFinite with std::isfinite.
- make all calls look like `std::isfinite`.
- change the comments referring `rtl::math::isFinite`.

Change-Id: I0cde9ceb9f20150467b454cddde5e62003cfde1a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90234
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-03-12 10:34:46 +01:00
Noel Grandin 7435040a18 move some canvas/ headers inside the module
Change-Id: Iaa00cff88ad756b7e084cc68fe744d387328180b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88360
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-02-12 11:57:19 +01:00