Commit Graph

253 Commits

Author SHA1 Message Date
5676ced825 make UNO enums scoped for internal LO code
this modifies codemaker so that, for an UNO enum, we generate code
that effectively looks like:

   #ifdef LIBO_INTERNAL_ONLY && HAVE_CX11_CONSTEXPR
       enum class XXX {
           ONE = 1
       };
       constexpr auto ONE = XXX_ONE;
   #else
      ...the old normal way..
   #endif

which means that for LO internal code, the enums are scoped.

The "constexpr auto" trick acts like an alias so we don't have to
use scoped naming everywhere.

Change-Id: I3054ecb230e8666ce98b4a9cb87b384df5f64fb4
Reviewed-on: https://gerrit.libreoffice.org/34546
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-04-04 06:38:03 +00:00
6291574d94 Remove unused #include <ctype.h>
Change-Id: I8bf3e30687e20151a9e1936e69362abfe9b3a99d
2017-03-23 17:55:31 +01:00
ed76d1d350 loplugins:redundantcast teach it about c-style typedef casts
Change-Id: I1ac11a2481c0f4d8be1e1fd7c7637ac0ece3d65c
Reviewed-on: https://gerrit.libreoffice.org/35558
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-03-23 09:48:10 +00:00
93360085da Use rtl::isAscii* instead of ctype.h is* with sal_Unicode arg
Change-Id: I2bc0cff65b1bacc041106406cd98c632eafeec51
2017-03-22 21:42:31 +01:00
198c41c4fe new loplugin unoany
Change-Id: I5d6c4a67cb2a09e7cd5bd620c6b262d188701b89
Reviewed-on: https://gerrit.libreoffice.org/34714
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-02-28 10:17:47 +00:00
fb896ebc7e Remove wrong and broken encoding from INetMIMEMessage::SetHeaderField_Impl
INetMIMEEncodedWordOutputSink had been intended to encode (non-ASCII) content of
a "free-form text" header field as per RFC 2047.  It used a heuristic trying to
detect already encoded words (=?...?...?...?=) in the input, to pass them
through unmodified.  (Arguably, it could just as well have encoded them,
assuming they were meant to be genuine input.)  However, that heuristic had a
bug ever since 8ab086b6cc054501bfbf7ef6fa509c393691e860 "initial import", going
from STATE_FIRST_EQUALS to STATE_FIRST_EQUALS instead of STATE_FIRST_QUESTION,
rendering the heuristical detection logic effectively unused.

Instead of fixing the bug, 6e12729f715f142140d220dc7d3b28a4a0657016 "remove
unused enumerator from EncodedWordState" and
b8d8fb3f0cf4a961bbff54523eaca1a4f8179c7a "convert EncodedWordState to scoped
enum" crippled the code further by removing any reputedly unused cases.

But the only remaining use of INetMIMEEncodedWordOutputSink is in
INetMIMEMessage::SetHeaderField_Impl, encoding MIME-Version, Content-Transfer-
Encoding, Content-Type, and Content-Disposition header fields.  And none of
those headers have any "free-form text" content that should be encoded as per
RFC 2047.  The first two have fixed ASCII-only content ("1.0" and "7bit",
"8bit", etc., respectively), while the latter two have structured content that
may contain parameters of arbitrary content, which must be encoded according to
RFC 2231 (but currently isn't).

And the only place where such arbitrary-content parameters are generated is in
the two calls to SetContentTransferEncoding in
forms/source/component/DatabaseForm.cxx.  (The calls to SetContentType there and
in tools/source/inet/ itself are all known to have unproblematic ASCII-only
content.)  So mark those two places with TODOs about the missing encoding (which
had been missing since forever) and, in INetMIMEMessage::SetHeaderField_Impl,
liberally convert the content to 8-bit via OUString::toUtf8 for now.

Change-Id: I4b2a219b396953b219ca66441a5227157a35951f
2017-02-21 08:22:19 +01:00
f4826959c1 new loplugin:unusedenumconstants
These are the simple removals, where it is obviously safe,
the more complex ones will come in separate commits

Change-Id: I7211945a6a5576354b60d9c709940ce9b674f308
Reviewed-on: https://gerrit.libreoffice.org/33828
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-02-03 08:59:39 +00:00
e57ca02849 Remove dynamic exception specifications
...(for now, from LIBO_INTERNAL_CODE only).  See the mail thread starting at
<https://lists.freedesktop.org/archives/libreoffice/2017-January/076665.html>
"Dynamic Exception Specifications" for details.

Most changes have been done automatically by the rewriting loplugin:dynexcspec
(after enabling the rewriting mode, to be committed shortly).  The way it only
removes exception specs from declarations if it also sees a definition, it
identified some dead declarations-w/o-definitions (that have been removed
manually) and some cases where a definition appeared in multiple include files
(which have also been cleaned up manually).  There's also been cases of macro
paramters (that were used to abstract over exception specs) that have become
unused now (and been removed).

Furthermore, some code needed to be cleaned up manually
(avmedia/source/quicktime/ and connectivity/source/drivers/kab/), as I had no
configurations available that would actually build that code.  Missing @throws
documentation has not been applied in such manual clean-up.

Change-Id: I3408691256c9b0c12bc5332de976743626e13960
Reviewed-on: https://gerrit.libreoffice.org/33574
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-01-26 12:54:43 +00:00
bf110d40ef Change all Idle* LINKs to be Timer*
Seem UBSAN doesn't like my forced reinterpret_cast to set the Idles
Link in the Timer class. Now there are two possible solution:

  1. convert all (DECL|IMPL).*_LINK call sites to use a Timer* or
  2. split the inheritance of Idle from Timer again to maintain
     different Link<>s and move all common code into a TimerBase.

While the 1st is more correct, the 2nd has a better indicator for
Idles. This implements the first solution.

And while at it, this also converts all call sites of SetTimeoutHdl
and SetIdleHdl to SetInvokeHandler and gets rid of some local Link
objects, which are just passed to the SetInvokeHandler call.

It also introduces ClearInvokeHandler() and replaces the respective
call sites of SetInvokeHandler( Link<Timer *, void>() ).

Change-Id: I40c4167b1493997b7f136add4dad2f4ff5504b69
2017-01-23 20:49:05 +01:00
dc33775281 use rtl::Reference in ODatabaseForm
rather than manual acquire/release

Change-Id: Ic5f013b7e4cafc597c659c61fbf568adccfd806a
2017-01-23 07:56:34 +02:00
bfde4866e0 convert DecodeMechanism to scoped enum
Change-Id: I5c56634b1bca8e37fa73d02d2428645301b6c547
2016-12-05 12:49:02 +02:00
803215142e convert INetURLObject::EncodeMechanism to scoped enum
Change-Id: I50ea17c7779c7b5cacddf548f1773fd7d6c8bade
2016-12-05 12:49:02 +02:00
bbf6c51717 loplugin:expandablemethods in forms..formula
Change-Id: Idc948ad06913def28cb642c3a4e5ea9322b9fb3b
Reviewed-on: https://gerrit.libreoffice.org/30688
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-11-08 09:49:48 +00:00
487738732b coverity#1374276 Uncaught exception
Change-Id: I0572e4365831cf0be2b73c5255812aaf4516ccb0
2016-10-26 09:56:30 +01:00
106ea87205 Remove _TYPED suffix from tools/link.hxx macros
...which was introduced with 3ead3ad52f9bb2f9d1d6cf8dfc73a0a25e6778ed "Gradually
typed Link" to distinguish the new, typed versions from the old, untyped ones,
but is no longer necessary since 382eb1a23c390154619c385414bdbe6f6e461173
"remove untyped Link<>" removed the old versions.

Change-Id: I494025df486a16a45861fcd8192dfe0275b1103c
2016-10-05 07:56:12 +02:00
8806a86c9d loplugin:unusedenumconstants in forms..sot
Change-Id: Ic445e1bdd012c32ef7d84aec9df908467c3296a7
Reviewed-on: https://gerrit.libreoffice.org/28055
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-08-12 06:53:29 +00:00
6cd3882bec remove some manual ref-counting in forms
Change-Id: I6334dca6e98bfd4531033bec203518ca27f64bc0
Reviewed-on: https://gerrit.libreoffice.org/26049
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-08 10:32:56 +00:00
62d270116b tools: rename SvStream::Read/Write to ReadBytes/WriteBytes
Change-Id: Ib788a30d413436aa03f813aa2fddcbc4d6cd2f9a
Reviewed-on: https://gerrit.libreoffice.org/25972
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-06-06 18:09:11 +00:00
d8545e78e7 Simplifiy unnecessary uses of int2enum
Change-Id: Ic811eac425717f7eac018dfd90c46bd72267c697
2016-05-30 18:30:40 +02:00
bfb185c408 loplugin:salbool: Automatic rewrite of sal_False/True
Change-Id: I74cf43df85a878ee9af69901b2535f63461cb61e
2016-04-20 17:25:41 +02:00
c03a11b8f0 tdf#97087 Give comprehensible names to timers
Timers and idles should have programmer comprehensible, unique names

Change-Id: I837d1890c687936f8a31278c0102391e6f87212d
Reviewed-on: https://gerrit.libreoffice.org/23917
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Jenkins <ci@libreoffice.org>
2016-04-13 08:06:29 +00:00
9866efe3e5 loplugin:constantparam
Change-Id: I821ed77a6c6014c9a82d31a4b117ed6f1b4abf18
Reviewed-on: https://gerrit.libreoffice.org/23832
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-05 11:29:54 +00:00
20ba5d464a tdf#97966 Drop 'static' keywords
Including no keywords from extern "C" blocks

Change-Id: I8bcd7e8a492ee4dbfa5141416c7c038a1391cf20
Reviewed-on: https://gerrit.libreoffice.org/23673
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
2016-04-01 06:45:36 +00:00
aec2477b41 loplugin:constantparam in forms
Change-Id: Iebce160fd6c3de63ba179d747768fd4cf420baec
2016-03-23 10:19:43 +02:00
218cd09611 inline some use-once macros
Change-Id: I7ebd8fe70b083a772118a1aab8cdfbf795d6f1e5
Reviewed-on: https://gerrit.libreoffice.org/23235
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-03-14 11:06:48 +00:00
ccb8b83070 convert FilterComponent to scoped enum
and simplify the overly-general logic in FilterManager

Change-Id: I2cbd9db6a53894cd13713a5cc0d1807cec456848
2016-02-25 13:50:25 +02:00
752cd07d08 InterfaceContainer2 with vector instead of Sequence
create an InterfaceContainer2 class to replace InterfaceContainer.
It uses a std::vector instead of a Sequence for the mutable listener
list, which provides far better performance.

Switch all our internal use-sites to the new class.

Change-Id: I6b56cfa511ded2395faa22e68fab3b2f16c3cb88
2016-01-25 08:52:03 +02:00
64d624b651 Fix typos
Change-Id: I9a5940027423ff0791fa7da0b79b617412ce6b86
Reviewed-on: https://gerrit.libreoffice.org/21209
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-10 14:17:20 +00:00
5b339db1ab loplugin:unusedfields in forms
Change-Id: I875c07dcfc9fd9537ced1facd88ac712a7dacbbd
2015-12-23 08:13:53 +02:00
11d3652418 loplugin:nullptr (automatic rewrite)
Change-Id: Ic67c3138ca66c6b6d6fcf76b09d4581e23f51f8d
2015-11-10 10:31:26 +01:00
b2d54b09c6 loplugin:stringconstant: elide explicit ctor usage (automatic rewrite)
Change-Id: I5b543edcae47c9ae4c90dba8082127fcb2b9b938
2015-11-06 09:36:00 +01:00
1b41208608 use uno::Reference::set method instead of assignment
Change-Id: I3d94c94a9829161663a7ed18421ace38ce95a659
Reviewed-on: https://gerrit.libreoffice.org/19733
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-02 06:17:21 +00:00
b36963c0a6 Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code
Change-Id: I2ea407acd763ef2d7dae2d3b8f32525523ac8274
2015-10-12 17:52:29 +02:00
7ba7a974f6 cppcheck: noExplicitConstructor
Change-Id: I32c6728ce7423fd997cdbec66feb8a6ba39948d2
2015-10-07 15:11:03 +01:00
de020fc9c3 com::sun::star->css in forms/
Change-Id: I1c09e88f839bdf11c6ff809ec95769e8f729c7cd
2015-10-02 08:20:11 +02:00
82285ab5c9 Merge INetMessageIStream into INetMIMEMessageStream
Change-Id: Ic3d9cd117b3f911a7cb1317fc9d1d2e9d8f1ff42
2015-09-10 23:04:35 +02:00
8cb1f9ac1c A charset is not a content transfer encoding
...the code was in this odd shape ever since
bf4154eb5307ec8c35f000fd1df39ef3abb2eb6d "initial import"

Change-Id: Ic931b99267bb6501f15119636f13391f1d065ed4
2015-09-10 23:04:34 +02:00
e871b6a31a Reduce INetMIMEMessage::EnableAttachChild to its only use case
Change-Id: I67221408d6b9d2aee942ca8bd39ca51da0209551
2015-09-10 23:04:33 +02:00
7144ce742a loplugin:stringconstant: OUStringBuffer: appendAscii -> append
Change-Id: If06eb179be6dd00a14d8920e303af37b53e22bdc
2015-08-31 08:03:28 +02:00
d21260cdb6 Remove two silly typedefs
Change-Id: Ia7de1cebf6009e770ca1b96bab6d5e121573ccc1
2015-08-19 13:34:43 +02:00
fceee9237c loplugin: defaultparams
Change-Id: I4080aece6fec2778a2a8646ddedd280337303591
2015-08-14 11:09:40 +02:00
14bead7f42 forms: tdf#88206 replace cppu::WeakImplHelper* etc.
with the variadic variants.

Change-Id: Ia4f56692c9beddda13ee948ab8bbc1ee95098fbf
Reviewed-on: https://gerrit.libreoffice.org/17648
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-08-11 13:30:17 +00:00
0a4e65219e coverity#1308582 Uncaught exception
Change-Id: Ibe15ebdbdd5c0eb719821043696ce22f76c5b232
2015-06-29 09:43:35 +01:00
265ad0605c coverity#1308542 Uncaught exception
Change-Id: I083d3152c0bb51f72e9f61203a7b3d9c4421a072
2015-06-28 17:56:00 +01:00
3fa7b0b70f Fix typos
Change-Id: Id8c7cf460cba5af89891c470e1aaa61b227d356e
Reviewed-on: https://gerrit.libreoffice.org/16310
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
2015-06-16 11:25:13 +00:00
885bf7c68c loplugin:cstylecast: deal with remaining pointer casts
Change-Id: I1d24939c085ee0751de00124d2a90de1270dbd22
2015-06-08 16:25:15 +02:00
3a05a08ba7 loplugin:redundantcast: const_cast to same type
Change-Id: I5fe081bc2edfe14c81372ae0fd407e493d80d689
2015-05-29 12:04:32 +02:00
8cafd08278 Use typed Timer::SetTimeoutHdl Link
Change-Id: Iaaf0c93e5b28c0f7dbe4f02eda8beeae30708100
2015-05-05 10:21:54 +02:00
e95b073790 loplugin:staticmethods
Change-Id: I60678dfd1bd0d2e4754dbbe6ba053e90d5870780
2015-05-05 09:30:40 +02:00
4592d27dca Get rid of trivial comphelper::in-/decrement wrappers
Change-Id: Id3a12ef9d56c30719f483e610c8a8b08caf05def
2015-04-21 08:56:51 +02:00