summaryrefslogtreecommitdiff
path: root/fpicker/source
AgeCommit message (Collapse)Author
2020-10-03use more TOOLS_WARN_EXCEPTIONNoel
Change-Id: I8b5cde993c13e0b7c8c830b1ff698933a6b7cfd0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103863 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-09-07Make the OUString ctors taking raw sal_Unicode pointer/non-const array explicitStephan Bergmann
...and in turn add OUString::operator = and OUString::operator += overloads that take a std::u16string_view. Without making the ctors explicit, the operator overloads would have caused ambiguities when called with raw sal_Unicode pointers/non-const arrays, as those can convert to both OUString and to std::u16string_view. But the std::u16string_view operator overloads will generally be useful when changing OUStringLiteral similarly to 4b9e440c51be3e40326bc90c33ae69885bfb51e4 "Turn OStringLiteral into a consteval'ed, static-refcound rtl_String", at which point many existing uses of OUStringLiteral will be replaced with uses of std::u16string_view. Implementing this change turned up a need for an operator = overload for OUStringNumber, which has thus been added. No such need turned up for a corresponding operator += overload, but which can easily be added when the need arises. It also revealed that the operator == overloads between an OUString and a raw sal_Unicode pointer/non-const array were implemented rather inefficiently, creating a temporary OUString from the raw argument. Those have been improved. Preceding commits have already taken care of many dubious or simply unnecessary implicit uses of the now-explicit OUString ctors. This commit makes explicit the few remaining reasonable uses. (And in some cases needed to change variable initialization syntax from using parentheses to using curly braces, to avoid the most vexing parse issue. And needed to explicitly add OUString ctors from char16 const[2] string literal lvalues in a conditional expression in writerfilter/source/ooxml/OOXMLFastContextHandler.cxx that are only necessary because MSVC apparently still insists on doing array-to-pointer decay there.) All of this only affects LIBO_INTERNAL_ONLY. Change-Id: I7ce31162e9be1c3ff3c0bd184a34b535ec56be9e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102098 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-08-28Change OUStringLiteral from char[] to char16_t[]Stephan Bergmann
This is a prerequisite for making conversion from OUStringLiteral to OUString more efficient at least for C++20 (by replacing its internals with a constexpr- generated sal_uString-compatible layout with a SAL_STRING_STATIC_FLAG refCount, conditionally for C++20 for now). For a configure-wise bare-bones build on Linux, size reported by `du -bs instdir` grew by 118792 bytes from 1155636636 to 1155755428. In most places just a u"..." string literal prefix had to be added. In some places char const a[] = "..."; variables have been changed to char16_t, and a few places required even further changes to code (which prompted the addition of include/o3tl/string_view.hxx helper function o3tl::equalsIgnoreAsciiCase and the additional OUString::createFromAscii overload). For all uses of macros expanding to string literals, the relevant uses have been rewritten as u"" MACRO instead of changing the macro definitions. It should be possible to change at least some of those macro definitions (and drop the u"" from their call sites) in follow-up commits. Change-Id: Iec4ef1a057d412d22443312d40c6a8a290dc6144 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101483 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-08-21loplugin:stringstatic (clang-cl)Stephan Bergmann
Change-Id: I024c7437e876459e22a6f541405b87ac13e7dc99 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101135 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-08-04Improved loplugin:staticanonymous -> redundantstatic redux, clang-clStephan Bergmann
Change-Id: Ie6dc22edbcfdf05ab8d7d668cb7cc33b5b747995 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100100 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-07-26fpicker/win32: create instances with uno constructorsNoel Grandin
See tdf#74608 for motivation. Change-Id: Ic7d6c94e8709184fc8f195bd019402e361e9b810 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99461 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-15fpicker/aqua: create instances with uno constructorsNoel Grandin
See tdf#74608 for motivation. Change-Id: I23b9964daba0d39cdad4e81de7b7fbfc56589b2e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98787 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-15fpicker/office: create instances with uno constructorsNoel Grandin
See tdf#74608 for motivation. Change-Id: Ia6e1aec18e6450de9c65ed059a25493fc54a9f75 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98788 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-10replace usage of blacklist with denylistThorsten Behrens
.. and a few cases of instead doing blacklist->excludelist where that made more sense. Background and motivation: https://tools.ietf.org/html/draft-knodel-terminology-02 [API CHANGE] officecfg::Office::Canvas::DeviceBlacklist -> DeviceDenylist [API CHANGE] officecfg::Office::Canvas::BlacklistCurrentDevice -> DenylistCurrentDevice [API CHANGE] officecfg::Office::Common::Misc::OpenCLBlackList -> OpenCLDenyList Change-Id: Ia35e25496bf0cc0692d5de4cb66bfc232d3a869e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98180 Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-07-01Upcoming improved loplugin:staticanonymous -> redundantstatic: fpickerStephan Bergmann
Change-Id: Iea0c39a036c9e890ee3afee143923386d2ca775c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97562 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-27cid#1401342 Uncaught exceptionCaolán McNamara
Change-Id: Ia22ed8541f1148355d71cd5b90ad13e64c1b50c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97289 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-06-07New loplugin:elidestringvarStephan Bergmann
Quoting compilerplugins/clang/elidestringvar.cxx (and see there for a rationale): "Find cases where a variable of a string type (at least for now, only OUString) is initialized with a literal value (incl. as an empty string) and used only once." (This commit includes fixes that become necessary in code changed after the preceding "Upcoming loplugin:elidestringvar" commits.) As a follow-up TODO, uses of the explicit OUString( sal_Unicode value ) ctor where value is char or char16_t literal should be detected too, so that e.g. one_quote would have been treated like two_quote in 4b85108773f9851f358a4daa8869eeadc638d103 "Upcoming loplugin:elidestringvar: sc" > --- a/sc/source/core/tool/compiler.cxx > +++ b/sc/source/core/tool/compiler.cxx > @@ -1902,9 +1902,8 @@ void ScCompiler::CheckTabQuotes( OUString& rString, > if( bNeedsQuote ) > { > const OUString one_quote('\''); > - const OUString two_quote("''"); > // escape embedded quotes > - rString = rString.replaceAll( one_quote, two_quote ); > + rString = rString.replaceAll( one_quote, "''" ); > } > break; > } Change-Id: I7b74f1735a07540e3d789df1d14c84081c824b6c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95696 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-05have just one way to set expander imageCaolán McNamara
Change-Id: Ic07709a864620c6146616c8e0a1417343c0937de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95590 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-06-05Improve COM library management in fpickerJulien Nabet
Inspired from: author Julien Nabet <serval2412@yahoo.fr> 2020-05-29 23:58:59 +0200 committer Mike Kaganski <mike.kaganski@collabora.com> 2020-06-03 23:04:27 +0200 commit 95e5d37b6e62eb39f2d5337e124e86b3d0c3f399 (patch) tree 5488826b390c04a2b32d2f9aa43f49a64f52db3d parent 3d3cb4328ece843b3e31b8411f9d16bbedb57a7b (diff) Improve COM library management in ADO Change-Id: If0b136cdcc89baa6bc90912d42b3ba07fa6c0efb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95498 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2020-06-04Upcoming loplugin:elidestringvar: fpickerStephan Bergmann
Change-Id: I4591cbe91e58a7c1014f9862cca63180800a3f45 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95465 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-05-22Prefer CoInitializeEx instead of CoInitializeJulien Nabet
As https://docs.microsoft.com/fr-fr/windows/win32/api/objbase/nf-objbase-coinitialize?redirectedfrom=MSDN advised. Moreover, it'll make concurrency model explicit Change-Id: I247a49248bf45beb64a7985a7c0d078ee48efe2d Change-Id: I6e755fd516d9fb2dd2a9df0c66d9afd6070447ea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94669 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-05-21use for-range on Sequence in f*Noel Grandin
Change-Id: I820255001c1b96d1f4b76a203f3c0f76fa09fe66 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94567 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-18Unused #include "comptr.hxx"Julien Nabet
Change-Id: I42ae8fd069a328df2b98e62ce3980dba8fb221b7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94437 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-05-03Resolves: tdf#131898 we only want the text from column 0Caolán McNamara
in the fallback file picker Change-Id: I60527661f83fde135145249a14b4f3b35840fff8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93347 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-01Related: tdf#130505 strangely all these point to the same pair of widgetsCaolán McNamara
Change-Id: Icbfe4b56e1ec068197a0641a1364f392261ba80e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93227 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-04-30Resolves: tdf#130505 give default focus to the file name fieldCaolán McNamara
Change-Id: I2c78fa95e626029a4cfc7f8e2faf03d4a5d2dee8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93228 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-04-29weld SfxTemplatePanelControlCaolán McNamara
Change-Id: Ib3f6d01ddec37afc3987423dc15ab84ad6475f37 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92942 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-04-23loplugin:makeshared in fpickerNoel Grandin
Change-Id: I121b6f6d2e7d3fa17caa4e3b3ac38eea0388507b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92747 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-04-14loplugin:flatten in fpickerNoel Grandin
Change-Id: Icfad1871686c894379b0e703194307a5bd72b2f7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92160 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-13Revert "loplugin:constfields in svtools"Noel Grandin
This reverts commit 07c4aa4298f062cee1894b80ef82e76d5ffcf4c7. Change-Id: Ic3f639581b9aca373f82c011f15be60d117b1943 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90476 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-01cid#1459028 various checked_return warningsCaolán McNamara
and cid#1459027, cid#1459026, cid#1459025, cid#1459024, cid#1459021, cid#1459018 Change-Id: If92e7665fcf947c5daf3094b9003e85c5c51f48f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89763 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-02-16clang-format f*,h* 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: I702c09bcd3a9a113b3d66c30edb6cf3b7e6a6593 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88776 Tested-by: Jenkins Reviewed-by: Muhammet Kara <muhammet.kara@collabora.com>
2020-02-07rename URLBox back to SvtURLBoxCaolán McNamara
Change-Id: Icd90eeb492002c45ddd8ff562a6da411abead122 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88185 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-02-07SvtURLBox is now unusedCaolán McNamara
Change-Id: Iab78b3803272ceb62c4df74241b64f23b1437b03 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88184 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2020-02-03loplugin:makeshared (clang-cl)Stephan Bergmann
Change-Id: I0c786bf401e514f9d86e33d8ab6366fc5dd1f425 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87887 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.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-24loplugin:makeshared in drawinglayer..fpickerNoel Grandin
Change-Id: Ib20fec3a7b6bfe2f94c6f5f2f9fa0be6f7c21e97 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87320 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-20Resolves: tdf#130090 xEntry should be xIconEntryCaolán McNamara
copy and paste error apparently Change-Id: Ifdeb90ececc200211ce41c55f2826987666cd401 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87087 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-01-08tdf#96505:Get rid of cargo cult long integer literalsayhanyalcinsoy
Change-Id: I6ee1f79d4b96c4ed161eff11c1b75574d89902dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85843 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-01-06Removed redundant semicolonsAndrea Gelmini
Change-Id: Ife14b8c3f7d121deb390deb5f405dd42d3016acf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86156 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-12-26use more TOOLS_WARN_EXCEPTIONNoel Grandin
so we get more useful log messages when stuff goes wrong Change-Id: Ia55db7ab1a4d79b0f281673fbbb06c61745fa89e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85829 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-19sal_Char->char in forms..frameworkNoel Grandin
Change-Id: I756c1f54d50403aa9b4f03dbbc2a387556f07084 Reviewed-on: https://gerrit.libreoffice.org/85475 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-06loplugin:external (macOS)Stephan Bergmann
* OldEntry in fpicker/source/aqua/resourceprovider.mm was apparently unused ever since it got introduced with 00657aef09d854c74fb426a935a3e8b1fc390bb0 "migrate to boost::gettext" * impl_throwError is used from multiple TU, connectivity/source/drivers/macab/MacabStatement.cxx just missed the relevant #include Change-Id: Iba131da57aa20085bb1c634ba9a3a59566070abd Reviewed-on: https://gerrit.libreoffice.org/84653 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-12-05loplugin:external (clang-cl)Stephan Bergmann
...plus loplugin:consttobool and loplugin:fakebool fallout Change-Id: Ie3d8121815c080b13bea6d9deca1eb138ca56138 Reviewed-on: https://gerrit.libreoffice.org/84515 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
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-26tdf#43021 WIN opt-out of OS recent folder usageJan-Marek Glogowski
The Microsoft documentation for SetFolder explicitly mentiones "In general, we do not recommended the use of this method. [...] SetDefaultFolder is the better method." If SetDefaultFolder is used the recently-used folder overwrites the value passed to SetDefaultFolder, which is shared between all file pickers. With this patch we rely on the LO internal mechanism to show the last used directory in the file picker. Regina's workaround basically does the same, as it just sets oRegistryKeyContent.WorkPathChanged, which triggers the internal path to use SetFolder instead of SetDefaultFolder. If you're wondering about the GetFolder() handling, the MS API docs have this: "Gets either the folder currently selected in the dialog, or, if the dialog is not currently displayed, the folder that is to be selected when the dialog is opened." So the call to GetFolder(), after the dialog is closed, returns the folder set by the SetFolder call, not the folder selected by the user, in case of the save dialog at least. Change-Id: Ia24f47848501df82727bfb2a99db723468bfe5b1 Reviewed-on: https://gerrit.libreoffice.org/83409 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> Tested-by: Jan-Marek Glogowski <glogow@fbihome.de>
2019-11-24cppcheck: performing init in init list (filter/fpicker/framework)Julien Nabet
Change-Id: I7b602d17949f75c32dfe87acb92498111812ac32 Reviewed-on: https://gerrit.libreoffice.org/83612 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-11-24Resolves: tdf#128940 use a normal MenuButtonCaolán McNamara
instead of a split toolbar item Change-Id: I2e706d1a3255dca7a51d323a2bcf750f28b8fd1e Reviewed-on: https://gerrit.libreoffice.org/83581 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-11-22Extend loplugin:external to warn about classesStephan Bergmann
...following up on 314f15bff08b76bf96acf99141776ef64d2f1355 "Extend loplugin:external to warn about enums". Cases where free functions were moved into an unnamed namespace along with a class, to not break ADL, are in: filter/source/svg/svgexport.cxx sc/source/filter/excel/xelink.cxx sc/source/filter/excel/xilink.cxx svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx All other free functions mentioning moved classes appear to be harmless and not give rise to (silent, even) ADL breakage. (One remaining TODO in compilerplugins/clang/external.cxx is that derived classes are not covered by computeAffectedTypes, even though they could also be affected by ADL-breakage--- but don't seem to be in any acutal case across the code base.) For friend declarations using elaborate type specifiers, like class C1 {}; class C2 { friend class C1; }; * If C2 (but not C1) is moved into an unnamed namespace, the friend declaration must be changed to not use an elaborate type specifier (i.e., "friend C1;"; see C++17 [namespace.memdef]/3: "If the name in a friend declaration is neither qualified nor a template-id and the declaration is a function or an elaborated-type-specifier, the lookup to determine whether the entity has been previously declared shall not consider any scopes outside the innermost enclosing namespace.") * If C1 (but not C2) is moved into an unnamed namespace, the friend declaration must be changed too, see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71882> "elaborated-type-specifier friend not looked up in unnamed namespace". Apart from that, to keep changes simple and mostly mechanical (which should help avoid regressions), out-of-line definitions of class members have been left in the enclosing (named) namespace. But explicit specializations of class templates had to be moved into the unnamed namespace to appease <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92598> "explicit specialization of template from unnamed namespace using unqualified-id in enclosing namespace". Also, accompanying declarations (of e.g. typedefs or static variables) that could arguably be moved into the unnamed namespace too have been left alone. And in some cases, mention of affected types in blacklists in other loplugins needed to be adapted. And sc/qa/unit/mark_test.cxx uses a hack of including other .cxx, one of which is sc/source/core/data/segmenttree.cxx where e.g. ScFlatUInt16SegmentsImpl is not moved into an unnamed namespace (because it is declared in sc/inc/segmenttree.hxx), but its base ScFlatSegmentsImpl is. GCC warns about such combinations with enabled-by-default -Wsubobject-linkage, but "The compiler doesn’t give this warning for types defined in the main .C file, as those are unlikely to have multiple definitions." (<https://gcc.gnu.org/onlinedocs/gcc-9.2.0/gcc/Warning-Options.html>) The warned-about classes also don't have multiple definitions in the given test, so disable the warning when including the .cxx. Change-Id: Ib694094c0d8168be68f8fe90dfd0acbb66a3f1e4 Reviewed-on: https://gerrit.libreoffice.org/83239 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-21Remove some obsolete fpicker/win partJulien Nabet
Change-Id: I7c602068e34b904559c0cbe3f869618c9149705a Reviewed-on: https://gerrit.libreoffice.org/83352 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-11-18loplugin:singlevalfieldsNoel Grandin
Change-Id: I0bb32ad7351f0e4cfbdc872ed0e81b8157ecc4cb Reviewed-on: https://gerrit.libreoffice.org/83056 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-17Extend loplugin:external to warn about enumsStephan Bergmann
To mitigate the dangers of silently breaking ADL when moving enums into unnamed namespaces (see the commit message of 206b5b2661be37efdff3c6aedb6f248c4636be79 "New loplugin:external"), note all functions that are affected. (The plan is to extend loplugin:external further to also warn about classes and class templates, and the code to identify affected functions already takes that into account, so some parts of that code are not actually relevant for enums.) But it appears that none of the functions that are actually affected by the changes in this commit relied on being found through ADL, so no adaptions were necessary for them. (clang::DeclContext::collectAllContexts is non-const, which recursively means that External's Visit... functions must take non-const Decl*. Which required compilerplugins/clang/sharedvisitor/analyzer.cxx to be generalized to support such Visit... functions with non-const Decl* parameters.) Change-Id: Ia215291402bf850d43defdab3cff4db5b270d1bd Reviewed-on: https://gerrit.libreoffice.org/83001 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-15loplugin:fakebool and loplugin:consttobool (macOS)Stephan Bergmann
Change-Id: I42d6546a9a400d8edb9ecef82614c6c88d4e6e83 Reviewed-on: https://gerrit.libreoffice.org/82806 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-13Resolves: tdf#128767 fpicker sets labels on buttons as well as labelsCaolán McNamara
Change-Id: Iedd543fe20cd713d49a9d62c256942639e44adf6 Reviewed-on: https://gerrit.libreoffice.org/82580 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-11-07loplugin:unusedmethodsNoel Grandin
Change-Id: I65354c7476dfaede1a607441d7c1b0c7ad038df4 Reviewed-on: https://gerrit.libreoffice.org/82186 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>