Commit Graph
191 Commits
Author SHA1 Message Date
Noel Grandin 90d658d6d1 XUnoTunnel->dynamic_cast in ExplicitValueProvider
Change-Id: I72b85a18d0a754f81a136fd79e56789aa926f425
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145617
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-18 09:08:49 +00:00
Noel Grandin fd6df89dbc use more concrete types in chart
Change-Id: I23888f636e36f6163405603a542a2f2f12eefa1d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145488
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-14 07:28:02 +00:00
Michael Weghorn 206543c7be [API CHANGE] tdf#150683 a11y: Switch a11y child index to 64 bit
With 16k column support in Calc enabled by default in

    commit 4c5f8ccf0a
    Date:   Tue Mar 8 12:44:49 2022 +0100

        change default Calc number of columns to 16384 (tdf#50916)

, the number of Calc cells in a spreadsheet is larger than
SAL_MAX_INT32, meaning that a 32-bit a11y child index is no more
enough and using it resulted in integer overflows in
methods handling corresponding Calc cells in the a11y layer.
This e.g. had the effect of the Orca and NVDA screen readers
not announcing focused or selected cells properly when their
a11y child index was out of the 32-bit integer range.

Switch the internal a11y child indices to 64 bit to
be able to handle this properly internally.

Since the platform APIs (at least AT-SPI on Linux and
IAccessible2 on Windows; from what I can see LO's macOS
a11y bridge doesn't directly expose the child index)
are still restricted to 32 bit, larger child indices
still cannot be exposed via the platform APIs.

As a consequence, use of the the IAccessible2 and
AT-SPI methods that use the child index remains
problematic in those cases where the child index
is larger. However, as an alternative to using the
AT-SPI Table interface and the IAccessibleTable/
IAccessibleTable2 interfaces with the child index
to retrieve information about a specific cell,
both AT-SPI and IAccessible2 also provide interfaces
to retrieve that information directly
from the cell object (TableCell interface for AT-SPI,
IAccessibleTableCell for IAccessible2).

Those interfaces are already implemented/exposed
for winaccessibility (s. `CAccTable`) and the
qt5/qt6/kf5 VCL plugins (s. the `QAccessibleTableCellInterface`
methods implemented in `QtAccessibleInterface`).
With the switch to 64-bit internal a11y child indices,
these now behave correctly for cells with a child
index that doesn't fit into 32 bit as well.

NVDA on Windows already uses the IAccessibleTableCell
interface and thus announcing focused cells works fine
with this change in place.

Orca on Linux currently doesn't make use of the AT-SPI
TableCell interface yet, but with a suggested change to
do so [1], announcement of selected cells works
with the qt6 VCL plugin with a current qtbase dev branch
as well - when combined with the suggested changes
to implement support for the AT-SPI TableCell interface
in Qt [2] [3] and the LO change based on that [4] and
a fix for a nullptr dereference [5].

The gtk3 VCL plugin doesn't expose the AT-SPI
TableCell interface yet, but once it does so
(via `AtkTableCell`), it also works with the
suggested Orca change [1] in place.
(Adding that is planned for an upcoming change,
works with a local WIP patch.)

For handling return values that are larger than what
platform APIs support, the following approach has
been chosen for now:

1) When the return value is for the count of
(selected) children, the maximum value N
supported by the platform API is returned.
(This is what `ScAccessibleTableBase::getAccessibleChildCount`
did previously.)
The first N elements can be accessed by their
actual (selection) indices.

2) When the return value is the child/cell index,
-2 is returned for objects whose index is greater
than the maximum value supported by the platform
API.
Using a non-negative value would mean that the
index would refer to *another* actually existing
child. A child index of -1 on the other hand
tends to be interpreted as "child is invalid" or
"object isn't actually a child of its (previous)
parent any more)". For the Orca case, this would
result in objects with a child index of -1
not being announced, as they are considered
"zombies" [6].

What's still somewhat problematic is the case where
more than 2^31 children are *selected*, since access
to those children still happens by the index into
the selection in the platform APIs, and not all
selected items are accessible this way.
(Screen readers usually just retrieve
the first and last element from the selection and
announce those.)

Orca already seems to apply different handling for the
case for fully selected rows and columns, so
"All cells selected" or "Columns ... to ... selected"
is announced just fine even if more than 2^31
cells are selected.

(Side note: While Microsoft User Interface
Automation - UIA - also uses 32-bit indices, it also
has specific methods in the ISelectionProvider2
interface that allow to explicitly retrieve the
first and last selected item,
`ISelectionProvider2::get_FirstSelectedItem` and
`ISelectionProvider2::get_LastSelectedItem`, but
we currently don't support UIA on Windows.)

Bound checks at the beginning of the methods from the
`XAccessibleContext`, `XAccessibleSelection` and
`XAccessibleTable` interfaces that take a child index
(or in helper methods called by those) should generally
already prevent too large indices from being passed to
the methods in the lower layer code that take smaller
integer types. Such bound checking has been
been added in various places where it wasn't present yet.
If there any remaining issues of this
kind that show after this commit, they can probably be
solved in a similar way (s.e.g. the change to
`AccessibleBrowseBox::getAccessibleChild` in this
commit).
A few asserts were also added at
places where my understanding is that values shouldn't
be larger than what is supported by a called method
anyway.

A test case will be added in a following change.

[1] https://gitlab.gnome.org/GNOME/orca/-/merge_requests/131
[2] https://codereview.qt-project.org/c/qt/qtbase/+/428566
[3] https://codereview.qt-project.org/c/qt/qtbase/+/428567
[4] https://gerrit.libreoffice.org/c/core/+/138750
[5] https://codereview.qt-project.org/c/qt/qtbase/+/430157
[6] https://gitlab.gnome.org/GNOME/orca/-/blob/82c8542002e36e0d3d918088d583162d25136143/src/orca/script_utilities.py#L5155

Change-Id: I3af590c988b0e6754fc72545918412f39e8fea07
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139258
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-09-02 15:47:37 +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
Chris Sherlock 934985becc tools: rename getHeight/Width() to GetOpenHeight/Width()
By default Rectangle uses closed interval, if we really want to use half
open intervals then we should specifically say as such in the name.

Change-Id: Id7a91120ba1a1a4bc330014216b73a692dbf03a2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136575
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-07-11 11:06:53 +02:00
Noel Grandin 8d8e6c84e5 [API CHANGE] Drop css::accessibility::XAccessibleStateSet
which is internal API, unused (as far as I can tell) by external
users.
This state is purely a bitset
  (as implemented by utl::AccessibleStateSetHelper)
so we can just return it as a 64-bit value.

This shaves significant time off the performance profiles
of code that loads very complex shapes, because this state
is frequently used, and we no longer need to allocate a return
value on the heap for every call.

Change-Id: Icf1b3bd367c256646ae9015f9127025f59459c2c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136786
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-07-08 10:10:11 +02:00
Noel Grandin b7c260aee3 clang-tidy modernize-pass-by-value in chart2
Change-Id: I73ae444487571fb61a02a2c813c060d269d52a02
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135723
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-06-13 16:04:27 +02:00
Gabor Kelemen dec2c5f3ca Recheck module chart2 with IWYU
See tdf#42949 for motivation

This time using the new --noexclude switch to recheck validity
of the excludelist; these were the obsolete exclusions

Change-Id: Ifdf79b30ebaf198082c2194611a2ed2b664e6f1f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133309
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-04-25 16:47:35 +02:00
Gabor Kelemen fef939d8ff Recheck module chart2 with IWYU
See tdf#42949 for motivation

Change-Id: Id4cdca3eed8618c289f30913d506f8f2bd46f0bb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133112
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2022-04-23 16:33:58 +02:00
Noel Grandin ab699bfdb3 new loplugin:stringviewvar looks for OUString vars that can be
... that can be string_view

Change-Id: I0ddf66725e08b58e866a764f57200dd188b9f639
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133066
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-19 18:31:10 +02:00
Michael Weghorn fe09f12d83 chart a11y: Drop bSendGlobally param from AccessibleBase::BroadcastAccEvent
Setting it didn't have any effect in practice:
If set to `true`, it resulted in
`vcl::unohelper::NotifyAccessibleStateEventGlobally` getting
called, which calls
`XExtendedToolkit::fireFocusGained` or
`XExtendedToolkit::fireFocusLost`, but the only implementations
in `VCLXToolkit` do nothing.

Interestingly, the documentation for `XExtendedToolkit` in
`offapi/com/sun/star/awt/XExtendedToolkit.idl` says:

>    @deprecated
>        This interface was only implemented in an intermediate developer
>        release anyway.
>
>    @since OOo 1.1.2

but the interface is still used in various places across the
code base...

Change-Id: I4681c28c9d18cf1953be5127765f4aa94563662d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131735
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-03-18 13:21:00 +01:00
Andrea Gelmini e170d62b48 Removed duplicated include
Change-Id: Ie3d9f815f1e998d23a6dafcbdfa37e9c4d7708f8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128794
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-01-23 11:55:56 +01:00
Noel Grandin fadb53a393 use more concrete types in chart2, ChartModel
Change-Id: I6930e09ed471592d7c8b8fb16565b355b17bffc1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128731
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-01-21 17:09:33 +01:00
Noel Grandin b39bdb65b3 use more concrete types in chart2, ChartModel
Change-Id: Ie38d941f855978b04995162040d8871a2577255c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128641
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-01-20 14:37:10 +01:00
Noel Grandin 85fc392926 use comphelper::WeakComponentImplHelper in AccessibleTextHelper
Change-Id: I886d510fc1ebccb058446703a64854c7854891bc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127688
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-12-30 06:47:15 +01:00
Mike Kaganski 5b0ae3b59c Prepare for removal of non-const operator[] from Sequence in chart2
Change-Id: I71e0b458c4dd2a85e36a485e3efa72b1077b0e54
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124346
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-10-29 11:07:27 +02:00
Mike Kaganski 05bc93db2d Use <comphelper/servicehelper.hxx> implementing XUnoTunnel part 1
The header got some changes:
1. Move UnoTunnelIdInit and isUnoTunnelId into 'comphelper' namespace
2. Rename UnoTunnelIdInit to UnoIdInit, as a precondition to replace
   of uses of OImplementationId with it, including in XTypeProvider
3. Introduce convenience functions 'getSomething_cast' to cast between
   sal_Int64 and object pointers uniformly.
4. Rename getUnoTunnelImplementation to getFromUnoTunnel, both to make
   it a bit shorter, and to reflect its function better. Templatize it
   to take also css::uno::Any for convenience.
5. Introduce getSomethingImpl, inspired by sw::UnoTunnelImpl; allow it
   handle cases both with and without fallback to parent.
6. Adjust UNO3_GETIMPLEMENTATION_* macros

TODO (in separate commits):
- Drop sw::UnoTunnelImpl and sw::UnoTunnelGetImplementation
- Replace all uses of OImplementationId in core with UnoIdInit
- Deprecate OImplementationId in <cppuhelper/typeprovider.hxx>
- Change implementations of getSomething to use getSomethingImpl
- Revise uses of getSomething to use getFromUnoTunnel

Change-Id: If4a3cb024130f1f552f988f0479589da1cd066e7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122022
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-09-15 06:07:36 +02:00
Mike Kaganski 581b2cf796 Drop tools::Rectangle::getX/getY, which are just duplicates of Left/Top
The change allowed to simplify many places where previously this API was
used, to avoid inefficient calculations (e.g., moving rectangle keeping
its size, and then immediately changing the size).

Change-Id: Ica2dc594d91cae83e2c2740c1f4fb23f44998916
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120461
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-08-16 15:53:02 +02:00
Caolán McNamara 2e894d5053 drop some unneeded includes
Change-Id: I200d2936e97475dedc67801631222da12c777729
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119649
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-07-29 13:53:53 +02:00
Noel Grandin 9090dc1f3b split OutputDevice from Window
as part of a longer-term goal of doing our
widget rendering only inside a top-level render-
context.

I moved all of the OutputDevice-related code that existed in vcl::Window
into a new subclass of OutputDevice called WindowOutputDevice.

Notes for further work

(*) not sure why we are getting an 1x1 surface in
    SvpSalGraphics::releaseCairoContext, but to fix it I clamp
    the size there

(*) might have to dump VCLXDevice, and move it's code down into VCLXWindow and VCLXVirtualDevice

(*) can we remove use of VCLXDevice in other places, in favour of just talking to the VCL code?

Change-Id: I105946377f5322677d6f7d0c1c23847178a720b6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113204
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-17 12:56:51 +02:00
Noel 6bc3539336 loplugin:refcounting in chart2
Change-Id: I7f49a25fccf853b6e61c37f35c116888163153f8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111746
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-03-02 07:20:19 +01:00
Noel 9861aaad25 loplugin:refcounting in chart2
Change-Id: I4949e67aae74631acc138a3a52621705cda0dd77
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111353
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-02-23 07:30:22 +01:00
Noel 2f9a61e3c9 loplugin:referencecasting in chart2
Change-Id: I4864b5f73a65de04ed3e3524e1331094049b1263
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111002
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-02-17 08:50:44 +01:00
Noel Grandin fc0002ccf2 AccessibleShapeTreeInfo needs a vcl::Window
no point in passing an OutputDevice there

Change-Id: I6da9b29a0e6f57ad6a8ebcb6113987ee25419483
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108988
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-01-09 07:36:14 +01:00
Philipp Hofer 79b6055acd tdf#123936 Formatting files in module chart2 with clang-format
Change-Id: Ie4dea73190040e5716fe531cf35fae20d7e175db
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105650
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2020-11-22 01:57:32 +01:00
George Bateman 1d203d9547 tdf#124176 Use #pragma once in chart2
This commit was carried out mostly by a Python script, source of which
is at https://bugs.documentfoundation.org/show_bug.cgi?id=124176#c97.

Change-Id: Ifee23b494264f895e5612952d0875cac064e4132
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100181
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-09-04 09:03:54 +02:00
Noel Grandin 6751a89552 compact namespace in canvas..cui
Change-Id: I7bd0c2a55b936896fcfe7e1a374871008a18618f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93706
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-08 12:40:03 +02:00
Noel Grandin 9df2821e61 loplugin:flatten in chart2
Change-Id: Iadc4da6515a7d82e7a92b33d74d589b61fa2c64f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92480
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-04-19 11:01:18 +02:00
Noel Grandin 87030862d4 replace some more copy/clear with swap
Change-Id: I6501dd59682d2605e9b9856c2deaa02a873ce641
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88239
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-02-08 11:23:19 +01:00
Stephan Bergmann aef7feb3e6 New loplugin:unsignedcompare
"Find explicit casts from signed to unsigned integer in comparison against
unsigned integer, where the cast is presumably used to avoid warnings about
signed vs. unsigned comparisons, and could thus be replaced with
o3tl::make_unsigned for clairty." (compilerplugins/clang/unsignedcompare.cxx)

o3tl::make_unsigned requires its argument to be non-negative, and there is a
chance that some original code like

  static_cast<sal_uInt32>(n) >= c

used the explicit cast to actually force a (potentially negative) value of
sal_Int32 to be interpreted as an unsigned sal_uInt32, rather than using the
cast to avoid a false "signed vs. unsigned comparison" warning in a case where
n is known to be non-negative.  It appears that restricting this plugin to non-
equality comparisons (<, >, <=, >=) and excluding equality comparisons (==, !=)
is a useful heuristic to avoid such false positives.  The only remainging false
positive I found was 0288c8ffec "Rephrase cast
from sal_Int32 to sal_uInt32".

But which of course does not mean that there were no further false positivies
that I missed.  So this commit may accidentally introduce some false hits of the
assert in o3tl::make_unsigned.  At least, it passed a full (Linux ASan+UBSan
--enable-dbgutil) `make check && make screenshot`.

It is by design that o3tl::make_unsigned only accepts signed integer parameter
types (and is not defined as a nop for unsigned ones), to avoid unnecessary uses
which would in general be suspicious.  But the STATIC_ARRAY_SELECT macro in
include/oox/helper/helper.hxx is used with both signed and unsigned types, so
needs a little oox::detail::make_unsigned helper function for now.  (The
ultimate fix being to get rid of the macro in the first place.)

Change-Id: Ia4adc9f44c70ad1dfd608784cac39ee922c32175
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87556
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-01-28 07:42:15 +01:00
Noel Grandin b1d48a0e22 loplugin:makeshared in chart2..comphelper
Change-Id: Ia25f5de3167fd554d463ce6111e8c5b0e7842907
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87275
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-24 07:18:35 +01:00
Gabor Kelemen 64d8a71eb8 tdf#42949 tdf#119699 Fix IWYU warnings in chart2/
* Recheck after recent refactorings and improvements in f-u-i

* Drop now unused TabPageIds.h

* The problem noticed in bug #119699 now seems to be gone too
so drop those lines from the blacklist.

Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.

Change-Id: I44f26c7370f5328c8f67ac61cd8f0cdb29077f15
Reviewed-on: https://gerrit.libreoffice.org/83182
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-11-21 09:58:06 +01:00
Stephan Bergmann 2d447ddc7a Improved loplugin:stringconstant (now that GCC 7 supports it): chart2
Change-Id: I9fb8e2853b5ddb1f9fe589f4e47828025ea52915
Reviewed-on: https://gerrit.libreoffice.org/76692
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-07-31 13:00:34 +02:00
Noel Grandin 836c40904f loplugin:referencecasting in canvas..chart2
Change-Id: I3a3671b5c44d1a7e5ca320d3d76dd5d902382cbc
Reviewed-on: https://gerrit.libreoffice.org/75935
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-19 11:31:51 +02:00
Arkadiy Illarionov 336b9a14f6 tdf#39593 Remove chart::ExplicitValueProvider::getExplicitValueProvider
Replace with comphelper::getUnoTunnelImplementation.

Change-Id: I8a457dc2aa701957f463b31bd6cc112337999aad
Reviewed-on: https://gerrit.libreoffice.org/74377
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-06-20 07:51:48 +02:00
Arkadiy Illarionov 1eb8859813 Use hasElements to check Sequence emptiness in chart2..connectivity
Similar to clang-tidy readability-container-size-empty

Change-Id: I41824e8a4ef38d6a35a0ac4421cffcbcd17308e1
Reviewed-on: https://gerrit.libreoffice.org/71802
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-06-10 10:55:57 +02:00
Andrea Gelmini 548f30f21b Fix typo
Change-Id: I0037cf0a59189862ad502bfbdb00580ed7378fe4
Reviewed-on: https://gerrit.libreoffice.org/70393
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-06-07 07:09:10 +02:00
Caolán McNamara 57a23fcb90 allow a OutputDevice parent where that is sufficient
Change-Id: I2920ea1a82de5eacbfeceafbb3c63693dd4365db
Reviewed-on: https://gerrit.libreoffice.org/72414
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-05-17 09:54:56 +02:00
Stephan Bergmann 38371d01e0 Consolidate MutexContainer GetMutex() vs. direct m_aMutex access
...at which point MutexContainer becomes all-inline and need no longer be
OOO_DLLPUBLIC_CHARTTOOLS

Change-Id: I2f9c089a1189cc8c0fe5cf1760f62e71c5bb7f51
Reviewed-on: https://gerrit.libreoffice.org/72052
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-05-10 08:22:25 +02:00
Mike Kaganski 5a824268df Don't use resettable/clearable guard where plain guard is enough
Also use scope where possible. This allows to limit guard scope at
language level; visualises the scope clearly; and helps avoiding
errors like fixed in commit 61e4437c85.

Change-Id: Ifeca96e2df8e8a0897770d9546b2536806275f41
Reviewed-on: https://gerrit.libreoffice.org/70376
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-04-07 17:53:04 +02:00
Gabor Kelemen d9e0eade62 Remove unused using declarations in directories [a-d]*
Found with:
run-clang-tidy-7 -checks=-*,misc-unused-using-decls

Change-Id: I50f6dfa881ac4e752668e762ade0943aaf28ab96
Reviewed-on: https://gerrit.libreoffice.org/69601
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-03-27 10:44:44 +01:00
Gabor Kelemen ba28af8aa5 o3tl::make_unique -> std::make_unique in chart2...cui
Since it is now possible to use C++14, it's time to replace
the temporary solution with the standard one

Change-Id: I2ba0b9b44971166bd79527b52745f3c40dc14387
Reviewed-on: https://gerrit.libreoffice.org/66490
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-01-18 09:49:12 +01:00
Gabor Kelemen cec7ae9f3c tdf#42949 Fix IWYU warnings in include/toolkit/*
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.

Change-Id: Icebcf1a6ab073dce935a74ce79ee0f302b62e8a8
Reviewed-on: https://gerrit.libreoffice.org/65947
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-01-15 11:54:11 +01:00
Gabor Kelemen 117d91cfb4 tdf#42949 Fix IWYU warnings in chart2/source/controller/*/cxx (1)
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Cleaned directories are:
accessibility, drawinglayer, itemsetwrapper, main, sidebar

Change-Id: I612eae9dec636d57a3a3a00102d74b964da5b54c
Reviewed-on: https://gerrit.libreoffice.org/64307
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2018-12-14 09:39:29 +01:00
Gabor Kelemen 00b49f9ff9 tdf#42949 Fix IWYU warnings in include/vcl/s*
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.

Change-Id: Ie87d27dd2c385a63349e0b322fd067ba03d2d152
Reviewed-on: https://gerrit.libreoffice.org/64479
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2018-12-10 14:19:50 +01:00
Gabor Kelemen a96e6e8062 tdf#42949 Fix IWYU warnings in include/vcl/[i-m]*
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.

Change-Id: If1b2e04872eb0dd6725802c1709a9085f4cd8c91
Reviewed-on: https://gerrit.libreoffice.org/64141
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2018-11-29 13:17:17 +01:00
Mike Kaganski 2a3f5d1152 tdf#120703 PVS: V547 Expression is always true/false
Change-Id: I856345576ff5c10a41509a97ad4539272bd55568
Reviewed-on: https://gerrit.libreoffice.org/62803
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-11-03 14:13:57 +01:00
Noel Grandin 8467d76418 fix signatures of deleted copy/assign operators
Change-Id: Id1a0749b78a7021be3564487fb974d7084705129
Reviewed-on: https://gerrit.libreoffice.org/62718
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-11-02 07:03:08 +01:00
Gabor Kelemen ec06ffdfd5 tdf#42949 Fix IWYU warnings in chart2/source/controller/[a,i,m,s]*/*hxx
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.

Change-Id: I5f445522e9a1ccd60555e992adf345b254b2ac83
Reviewed-on: https://gerrit.libreoffice.org/60335
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-09-12 09:43:41 +02:00
Noel Grandin c289c25523 loplugin:simplifyconstruct in canvas..cui
Change-Id: I02eba1df117a9d0df42bcac13c3251cb4fa6da14
Reviewed-on: https://gerrit.libreoffice.org/60074
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-06 14:38:52 +02:00