summaryrefslogtreecommitdiff
path: root/accessibility/source
AgeCommit message (Collapse)Author
2020-04-27Make upcasting css::uno::Reference ctor require complete typesStephan Bergmann
The main reason for the "home-grown" UpCast introduced with 904b3d1fceee5827076758ed2a81f80cb73493ca "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 39a1edd6fec902ef378acce8af42c4d7fba280d0 "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-25controllayout.hxx can be a toolkit-only headerCaolán McNamara
Change-Id: I4ad08decf432a890cdf7acf475d15210ba813f76 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92903 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-04-21tdf#42982: Improve UNO API error reportingIan Barkley-Yeung
Add more info to the exception in AccessibleIconChoiceCtrl::getAccessibleChild() Change-Id: Ie6e778f76719eb463508647f0367e089ab0ae8ec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92514 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-04-18loplugin:flatten in accessibilityNoel Grandin
Change-Id: I5e02fe0288845210f1d8e41db0342967858098fa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92487 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-04-11rename vcl::Window::Update to PaintImmediatelyNoel Grandin
To make the code easier to read. Change-Id: Iebc648150391939fba5d1cd815c72dbcf02ceec6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90378 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-04-02loplugin:virtualdeadNoel Grandin
Change-Id: I5698862e5890d3208bc7012b0ce5b60520797c2d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91571 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-02-19move svtabbx.hxx to vcl/toolkitCaolán McNamara
Change-Id: Id4cf566f896b15b8d4e4cafbb92a990cedb447e7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88931 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-02-16clang-format accessibility & basctl with under 5-percent lines of changeMuhammet Kara
Files which could become clang-format conformant with under 5-percent lines of change relative to the total count of lines in the file are found by using bin/find-clang-format.py, and fixed with /opt/lo/bin/clang-format -i <path-of-the-file> There will be follow-up patches to fix all 'under-5-percent' files. Change-Id: Idc890cac4bb6aed4e36c3556a2abc0744fd086df Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88770 Tested-by: Jenkins Reviewed-by: Muhammet Kara <muhammet.kara@collabora.com>
2020-01-28New loplugin:unsignedcompareStephan Bergmann
"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 0288c8ffecff4956a52b9147d441979941e8b87f "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-26Use properly typed variable for iterationStephan Bergmann
...avoiding explicit casts to smaller sal_uInt16 from larger sal_Int32. (Adding a o3tl::make_unsigned to silence a resulting -Werror,-Wsign-compare.) Change-Id: Iff1636e961db6edfac274cf8f7440369e841f9c3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87441 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-01-26rename some local variablesNoel Grandin
mostly to make the job of my very aggressive unused local vars plugin easier Change-Id: Ifc21a920841f8589f8b7e10de39dba6622a5d501 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87399 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-25Avoid explicit cast to smaller sal_uInt16 from larger sal_Int32Stephan Bergmann
...in what might be an attempt to avoid warnings about signed vs. unsigned comparisons. (The mismatch had been there ever since b755fb8c0f6b1282f62c12f378c0a5ecac64d490 "Integrate branch of IAccessible2".) Change-Id: I492a5d7bc41311de48b7ea1c7f646c2f5f982e93 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87398 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-01-15tdf#88205 Adapt uses of css::uno::Sequence to use initializer_list ctorMesut Çifci
Change-Id: Ice7c0ecc8ee05a5c3b0af458ceeee8191bdde322 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86752 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-01-13tdf#88205 Adapt uses of css::uno::Sequence to use initializer_list ctorMesut Çifci
Change-Id: I1c1e7b42211c51f572698efd3135e388f8fb2979 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86648 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-12-20tdf#124176:Use pragma once instead of include guardsAyhan Yalçınsoy
Change-Id: I7f71f0142759362fcfb30364694e3f4fc590274c Reviewed-on: https://gerrit.libreoffice.org/85551 Tested-by: Jenkins Reviewed-by: Muhammet Kara <muhammet.kara@collabora.com>
2019-12-03loplugin:mergeclasses ListBoxAccessibleBase with AccessibleListBoxEntryNoel Grandin
Change-Id: I9173e64b7ddef3184cacbce55b060d677e7ec1d0 Reviewed-on: https://gerrit.libreoffice.org/84347 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-03remove some useless comment linesNoel Grandin
which merely announce that the next declaration is a class Change-Id: Ifdb1398bcd99816b13e0b3769b46d0562bfbc1dc Reviewed-on: https://gerrit.libreoffice.org/84229 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-21loplugin:unusedfieldsNoel Grandin
Change-Id: Ic4cb8444123864fdaee64960f00a05b3066ae5fc Reviewed-on: https://gerrit.libreoffice.org/83387 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-20loplugin:unusedmethodsNoel Grandin
Remove a filtering step in the python script that was hiding some results Change-Id: Id94268f150902405ab197c077f18aaedf98845fc Reviewed-on: https://gerrit.libreoffice.org/83256 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-16loplugin:singlevalfieldsNoel Grandin
Change-Id: I31fd6b251dee9d1ee1a9ac59964034d0136e1f3e Reviewed-on: https://gerrit.libreoffice.org/82978 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-06loplugin:indentation find broken if statementsNoel Grandin
so I don't read the "then" block as being a sequential statements Change-Id: Ib2004acd3518bd4ebd2246f02a26c2c0a8bbab4c Reviewed-on: https://gerrit.libreoffice.org/82069 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-28tdf#42949 Fix IWYU warnings in accessibility/Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: Iddc1d33f5a520febf1bb317861acc2880595e7bf Reviewed-on: https://gerrit.libreoffice.org/81358 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-10-15move HAVE_FEATURE_DESKTOP/OPENCL to their dedicated headersLuboš Luňák
HAVE_FEATURE_OPENCL is included by a common Calc header and HAVE_FEATURE_DESKTOP is included by a common Writer header, causing pretty much their full rebuilds if any feature changes. Change-Id: If29bf78bd4fd70b37981e0826a577777fd255c89 Reviewed-on: https://gerrit.libreoffice.org/80776 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2019-10-11simplify "a = a +" to "a +="Noel Grandin
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>
2019-10-09tdf#114441 changed some sal_uLong to better fitting typesChristian Barth
Change-Id: I114a6b028eb59a1ae38c31bc20439a35643fe972 Reviewed-on: https://gerrit.libreoffice.org/80159 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2019-09-26loplugin:virtualdead in vclNoel Grandin
Change-Id: I54cacce6d843f41f220ac5350868bd6d70dbc6b4 Reviewed-on: https://gerrit.libreoffice.org/79585 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-09-18accessibility: fix leak of AccessibleListBoxEntryMichael Stahl
The problem is that AccessibleListBoxEntry from the Stylist in the sidebar are not deleted until the document is closed, which causes slowdowns because it causes an ever-growing list of window listeners. There are several issues here: * AccessibleListBoxEntry::m_aParent appears of dubious merit because SvTreeList::Move may move entries to a different parent; this member may or may not be initialised depending on where the instance is created; there are confusing comments mentioning a "Solution" but not the corresponding problem; just remove it and let it do a dynamic lookup when needed * AccessibleListBox::m_mapEntry already exists but is used in only half the places where AccessibleListBoxEntry are created; use it everywhere (consistently create entry without a parent, see previous point), and let AccessibleListBoxEntry know the AccessibleListBox instance so it can use the m_mapEntry too * When VclEventId::ListboxItemRemoved event is received, the m_mapEntry is cleared but the AccessibleListBoxEntry survive this happily; better dispose them (seeing as this event is regularly sent because there's some timer clearing the Stylist and recreating it from scratch...) Change-Id: I6c3336e019e873fa7cc8fa03cb8949a1ff2fe8fa Reviewed-on: https://gerrit.libreoffice.org/79100 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2019-09-05Simplify Sequence iterations in accessibilityArkadiy Illarionov
Use range-based loops, STL and comphelper functions. Change-Id: I600f6eeffd606859c24cdce8faeaead29abfb843 Reviewed-on: https://gerrit.libreoffice.org/78573 Tested-by: Jenkins Reviewed-by: Arkadiy Illarionov <qarkai@gmail.com>
2019-09-03tdf#39593 Drop OToolBoxWindowItem::isWindowItemArkadiy Illarionov
Replace with comphelper::getUnoTunnelImplementation. Also use isUnoTunnelId(). Change-Id: I1cf42a483a5c2c9734e4c1f8dd3ba76fd9c7f5e6 Reviewed-on: https://gerrit.libreoffice.org/78429 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-08-21loplugin:constmethod in accessibilityNoel Grandin
Change-Id: I1e42811e8e79dd81837dd38570c0f2705bb87fe8 Reviewed-on: https://gerrit.libreoffice.org/77924 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-08-19loplugin:constvars in accessibility..basegfxNoel Grandin
Change-Id: Id6a0b48c3440be394419e87bd7a4f63bd0a1e758 Reviewed-on: https://gerrit.libreoffice.org/77721 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-31Improved loplugin:stringconstant (now that GCC 7 supports it): accessibilityStephan Bergmann
Change-Id: Ib3759b6e379922b8a84d2d512b9dd50a1394ff88 Reviewed-on: https://gerrit.libreoffice.org/76700 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-07-23cid#1448398 Dereference before null checkCaolán McNamara
Change-Id: I55bddd8f152f34919e9818048aaf2a77a94ccaf0 Reviewed-on: https://gerrit.libreoffice.org/76130 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-07-08tdf#121793 speedup VCLXAccessibleStatusBarItem::GetItemTextNoel Grandin
no need to do a full layout to get the item text. Saves about 15% of the CPU load off Change-Id: I07eaf6bc64ec90d81057b8360725e0b052c6dca7 Reviewed-on: https://gerrit.libreoffice.org/75198 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-06-25improve loplugin:simplifyconstructNoel Grandin
Change-Id: If863d28c6db470faa0d22273020888d4219e069e Reviewed-on: https://gerrit.libreoffice.org/74559 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-06-24move SvtIconChoiceCtrl to vclCaolán McNamara
Change-Id: I5ed8af625cb46998649c4f11255d7676a11bdc94 Reviewed-on: https://gerrit.libreoffice.org/74605 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-06-21simplify some getSupportedServiceNamesNoel Grandin
Change-Id: I81195505d6006b6587f7b98c1545919083f0e588 Reviewed-on: https://gerrit.libreoffice.org/74497 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-06-14loplugin:logexceptionnicely in accessibility..basicNoel Grandin
Change-Id: I6e0b95b40e3d62db36352f3ea916f79f3dbc9084 Reviewed-on: https://gerrit.libreoffice.org/74018 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-06-11Use hasElements to check Sequence emptiness in accessibility..canvasArkadiy Illarionov
Similar to clang-tidy readability-container-size-empty Change-Id: I24c3f04b4eed3c1cd973166885660f113a26844f Reviewed-on: https://gerrit.libreoffice.org/71805 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-06-08loplugin:singlevalfieldsNoel Grandin
Change-Id: I7c00b7d932bf96a0725eac5482580461baea6977 Reviewed-on: https://gerrit.libreoffice.org/73697 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-05-03clang-tidy modernize-avoid-c-arrays in accessibilityArkadiy Illarionov
Change-Id: Ic9c759fa78d47f0a8b989464ce1f65438da9064b Reviewed-on: https://gerrit.libreoffice.org/70478 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-04-21Exit from search loop when condition is satisfiedArkadiy Illarionov
Change-Id: Iff5299a86559a88bff9256e55e75a508e3713d28 Reviewed-on: https://gerrit.libreoffice.org/71037 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-04-15improve loplugin simplifyconstructNoel Grandin
to find stuff like OUString s = OUString("xxx") Change-Id: Ie7ed074c1ae012734c67a2a89c564c1900a4ab04 Reviewed-on: https://gerrit.libreoffice.org/70697 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-04-12loplugin:sequentialassign in accessiblity..canvasNoel Grandin
Change-Id: I984717138ac85c1af5fc363fda06f5c2b5497965 Reviewed-on: https://gerrit.libreoffice.org/70641 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-04-07Don't use resettable/clearable guard where plain guard is enoughMike Kaganski
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 61e4437c857854b331fa01da6f39b2b3b58a800b. Change-Id: Ifeca96e2df8e8a0897770d9546b2536806275f41 Reviewed-on: https://gerrit.libreoffice.org/70376 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-04-03Fix typoAndrea Gelmini
Change-Id: Id1a9ca4952e52df2ca48b81d80c24f62d451a811 Reviewed-on: https://gerrit.libreoffice.org/70169 Tested-by: Jenkins Reviewed-by: Jens Carl <j.carl43@gmx.de>
2019-04-01Fix typoAndrea Gelmini
Change-Id: Ic7ed36a39c09627e94f61a2b36454c4f19b24ebd Reviewed-on: https://gerrit.libreoffice.org/70021 Tested-by: Jenkins Reviewed-by: Jens Carl <j.carl43@gmx.de>
2019-03-16Simplify containers iterations in accessibility, avmediaArkadiy Illarionov
Use range-based loop or replace with STL functions Change-Id: I47cabb02a2e52f2af8e87379fc44906d2a732d19 Reviewed-on: https://gerrit.libreoffice.org/69334 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-03-05re-land "new loplugin typedefparam""Noel Grandin
This reverts commit c9bb48386bad7d2a40e6958883328145ae439cad, and adds a bunch more fixes. Change-Id: Ib584d302a73125528eba85fa1e722cb6fc41538a Reviewed-on: https://gerrit.libreoffice.org/68680 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-02-25loplugin:unusedfields in variousNoel Grandin
Change-Id: I31d0e6c3559af2e322fb474b97f3bbf4d5064831 Reviewed-on: https://gerrit.libreoffice.org/68280 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>