Commit Graph
159 Commits
Author SHA1 Message Date
Noel Grandin 5c76b36437 loplugin:ostr in scripting
Change-Id: Idde1ec2254cebc9acd8aab092e52632b1625877f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167576
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-05-13 14:43:49 +02:00
Mike Kaganski d74c010192 Use getXWeak in scripting
Change-Id: I4370c0bfaa75b150bd05f03a5961e7152ac41e7d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150864
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-04-30 20:35:05 +02:00
Caolán McNamara 1726c27e0d check SfxObjectShell::Current()
SfxObjectShell::Current() can return null, it's based on the equally
vile SfxViewFrame::Current()

Change-Id: Ia5c7783680e9d8e5d3075078f16a2c15cb6f7a47
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144339
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-12-16 21:17:15 +00: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
Mike Kaganski 22ba855d1a Prepare for removal of non-const operator[] from Sequence in scripting
Change-Id: Ia85fe6de38674c7982b0f983a798a4d99ec1fb70
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124384
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-10-30 22:04:01 +02:00
Mike Kaganski 2484de6728 Remove non-const Sequence::begin()/end() in internal code
... to avoid hidden cost of multiple COW checks, because they
call getArray() internally.
This obsoletes [loplugin:sequenceloop].

Also rename toNonConstRange to asNonConstRange, to reflect that
the result is a view of the sequence, not an independent object.

TODO: also drop non-const operator[], but introduce operator[]
in SequenceRange.

Change-Id: Idd5fd7a3400fe65274d2a6343025e2ef8911635d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123518
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-10-15 10:36:36 +02:00
Vincent LE GARREC 24552a0b5b tdf#124176 Use pragma once in s*
sc, scaddins, sccomp, scripting

Change-Id: Ia99fec9e238033821cb784810edd4762c09bd5db
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112049
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2021-03-23 13:39:56 +01:00
Gabor Kelemen 107399d684 tdf#42949 Fix new IWYU warnings in directories s*
Except recently checked sc, sd, svx, sw

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

Change-Id: Ice1b86628e4f22a39f307b9c5fa567b6ab9d5acb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106917
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-12-01 14:56:43 +01:00
Noel Grandin cc1e6ee2dd disable O(U)String::concat for internal code
in favour of the more widely used, and better optimised, operator+

Change-Id: I6a1b37e0f3d253af1f7a0892443f59b620efea63
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105523
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-11-11 06:33:40 +01:00
Noel Grandin b2835b2a65 scripting/protocolhandler: create instances with uno constructors
See tdf#74608 for motivation.

Change-Id: I5618d68317a24bfe92dc166ffc81dcf5ffeba1e1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98740
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-15 10:08:08 +02:00
Gabor Kelemen 2c0906bcee tdf#42949 Fix IWYU warnings in scripting/
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.

Change-Id: I014631ec79242d9a5f735d7401fe0f5e323c69a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95649
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-06-09 14:55:24 +02:00
Noel Grandin 2b47c5f295 remove the fake SvxScriptErrorDialog code
which just forwards to an async real dialog.

Change-Id: I61936c4d105b9829042817e6a3cf5e60c451fb6b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95830
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-06-09 10:04:05 +02:00
Stephan Bergmann 9e07acf3a9 Upcoming loplugin:elidestringvar: scripting
Change-Id: Ib900f42b41bf6a3b8f65132dd4c6eb46fb1e5171
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95539
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-05 08:53:18 +02:00
Noel Grandin c37fe8886d compact namespace in sal..svgio
Change-Id: I7e70614ea5a1cb1a1dc0ef8e9fb6fd48e85c3562
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93904
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-10 12:03:13 +02:00
Noel Grandin d9946e6d0b loplugin:flatten in scripting
Change-Id: I8df38b4b581fb674a050ef32624b22498a8e340f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91549
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-04-02 20:05:25 +02:00
Noel Grandin 1376f86f3f sal_Char->char in scaddins..sdext
Change-Id: If2456800ace3696c2582e19a4c8612fee7d77f90
Reviewed-on: https://gerrit.libreoffice.org/85700
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-22 19:27:42 +01:00
Samuel Mehrbrodt f5d01aef76 Check if scripting disabled for each dispatch call
Not only when initializing.
This way, changing the property during runtime has an effect.

Change-Id: Iba5f00996f0079fc4bafb5d373f34c6fd86c7959
Reviewed-on: https://gerrit.libreoffice.org/82078
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-11-06 08:11:52 +01:00
Samuel Mehrbrodt 730e588b5e Fix option to disable macros
so that it indeeds disables any macro execution.
Before, you could still add macros to the toolbar and execute them from there (and probably many more places).
Now, if this option is set, any macro will no longer be executed.
This includes Javascript, Beanshell and Python scripts

Change-Id: Icfa845e836782c8e1b670a67694f79a60ad74fad
Reviewed-on: https://gerrit.libreoffice.org/82052
Reviewed-by: Serge Krot (CIB) <Serge.Krot@cib.de>
Tested-by: Serge Krot (CIB) <Serge.Krot@cib.de>
2019-11-05 15:06:25 +01:00
Caolán McNamara a1140054b4 revert part of 'warn on load when a document binds an event to a macro'
i.e.
commit b3edf85e0f
Author: Caolán McNamara <caolanm@redhat.com>
Date:   Wed Aug 7 17:37:11 2019 +0100

because then extensions that add a entry to menus results in menu
entries that cannot run in the start center where there is no document.

If allowed when there is no document, it would still result in the
odd behaviour that such menu entries would not work in a document which
contained macros or macro-calls if permission was denied to run them

Add a similar check instead to SfxEvents_Impl::Execute

Change-Id: I8084ab2dc66bb95e2562a3dba188c721d44a5676
Reviewed-on: https://gerrit.libreoffice.org/77465
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-08-14 17:52:29 +02:00
Caolán McNamara b3edf85e0f warn on load when a document binds an event to a macro
a) treat shared/Scripts equivalently to document scripts

This doesn't automatically warn/block running those scripts when used in a
freshly loaded document on its own however

because DocumentMacroMode::checkMacrosOnLoading will see at...

if ( m_xData->m_rDocumentAccess.documentStorageHasMacros() || hasMacroLibrary() )

that the document contains no macros and flip the allow macros flag to true so
that potentially new uses of macros added by the user during the edit are
allowed to run

b) so, add an additional flag to indicate existence of use of macros in a document

c) for odf import, set it when a script:event-listener tag is encountered
d) for html import when registerScriptEvents or SwFormatINetFormat::SetMacroTable is called
e) for doc import when Read_F_Macro or StoreMacroCmds is called as well for good measure
f) for xls import when registerScriptEvent or ScMacroInfo::SetMacro is called
g) for oox import when VbaProject::attachMacros is called

Change-Id: Ic1203d8ec7dfc217aa217135033ae9db2888e19b
Reviewed-on: https://gerrit.libreoffice.org/77131
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-08-13 13:26:15 +02:00
Stephan Bergmann a9cde25572 Properly obtain location
Change-Id: I9fb0d883a3623394343cd54ef61e5610544198c8
Reviewed-on: https://gerrit.libreoffice.org/77019
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-08-06 14:21:14 +02:00
Stephan Bergmann f5a219c3ac Improved loplugin:stringconstant (now that GCC 7 supports it): scripting
Change-Id: I60519d5f0663ab244468f10cbc79a8fc80771726
Reviewed-on: https://gerrit.libreoffice.org/76651
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-07-31 12:55:24 +02:00
Arkadiy Illarionov 5ba84c3c70 Simplify Sequence iterations in scaddins, sccomp, scripting
Use range-based loops, STL and comphelper functions

Change-Id: I836422a1c81a3dc9585687ed2e506eb59bb4ec91
Reviewed-on: https://gerrit.libreoffice.org/76484
Tested-by: Jenkins
Reviewed-by: Arkadiy Illarionov <qarkai@gmail.com>
2019-07-30 11:16:00 +02:00
Noel Grandin b1ef3c043d loplugin:referencecasting in scripting
Change-Id: I056ae11c6cda0a1550a8fe363b069359feafcd59
Reviewed-on: https://gerrit.libreoffice.org/75996
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-20 17:59:06 +02:00
Noel Grandin f41a55474c loplugin:logexceptionnicely in scripting..sdext
Change-Id: Ib08f41bb0bed494e7ed00f5bae92eae2b8e80d93
Reviewed-on: https://gerrit.libreoffice.org/74113
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-06-17 08:18:51 +02:00
Noel Grandin a361231b13 fix wrong SET/QUERY flags passed to uno::Reference
By creating deleted methods for the wrong calls.

Avoids the compiler needing to construct a temporary

Change-Id: I3b8c648d6bb22d22827bf74f21ea5a2a17fc0f6a
Reviewed-on: https://gerrit.libreoffice.org/72103
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-05-13 08:15:27 +02:00
Arkadiy Illarionov 038e4b3b1e Use hasElements to check Sequence emptiness in sax..sdext
Similar to clang-tidy readability-container-size-empty

Change-Id: If6a567708d3c59355d54933fad23c85195846624
Reviewed-on: https://gerrit.libreoffice.org/71763
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-05-12 14:18:12 +02:00
Caolán McNamara ce2792eda3 use C++11 exception rethrowing
for those cases where we are doing relatively simple catching and rethrowing
e.g. catch in one thread and throw in main thread.

Change-Id: I6192017c4ec99dd671a9582f7b004096b0fc4525
Reviewed-on: https://gerrit.libreoffice.org/58588
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-08-04 18:49:48 +02:00
Gabor Kelemen efdc775d7d Add missing sal/log.hxx headers
rtl/string.hxx and rtl/ustring.hxx both unnecessarily #include <sal/log.hxx> (and don't make use of it themselves), but many other files happen to depend on it.
This is a continuation of commit 6ff2d84ade to be able to remove those unneeded includes.

This commit adds missing headers to every file found by:
grep -FwL sal/log.hxx $(git grep -Elw 'SAL_INFO|SAL_INFO_IF|SAL_WARN|SAL_WARN_IF|SAL_DETAIL_LOG_STREAM|SAL_WHERE|SAL_STREAM|SAL_DEBUG')
to directories scripting, sd, sdext

Change-Id: I47889cd889cf1d68353184229bfd4712f1528fbf
Reviewed-on: https://gerrit.libreoffice.org/58220
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-07-30 17:28:49 +02:00
Noel Grandin 51c879d864 simplify calls to *DialogFactory::Create methods
we don't need to check for nullptr here, it's never null.

Change-Id: I3cc5337a8f4dec6747821679e39ccba3cec20f56
Reviewed-on: https://gerrit.libreoffice.org/55114
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-12 08:24:04 +02:00
Noel Grandin 3a51daeace Improve re-throwing of UNO exceptions
(*) if we are already throwing a Wrapped*Exception, get the
exception using cppu::getCaughtexception.

(*) when catching and then immediately throwing UNO exceptions,
use cppu::getCaughtException to prevent exception slicing

(*) if we are going to catch an exception and then
immediately throw a RuntimeException, rather throw a
WrappedTargetRuntimeException and preserve the original exception information.

Change-Id: Ia7a501a50ae0e6f4d05186333c8517fdcb17d558
Reviewed-on: https://gerrit.libreoffice.org/54692
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-25 21:46:49 +02:00
Tor Lillqvist 2147cbf620 Filter out "SynchronMode" too
Change-Id: I2c5111ee34929b9740796f5e1f08b3a8a58218e4
Reviewed-on: https://gerrit.libreoffice.org/51964
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
2018-03-27 20:52:27 +02:00
Tor Lillqvist 7e16966d51 Add a separator between two words in an exception message
Change-Id: I5c2e01249058e03edfcf036036f9595b87f0a070
Reviewed-on: https://gerrit.libreoffice.org/51963
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
2018-03-27 19:43:24 +02:00
Noel Grandin 3af500580b loplugin:salcall fix functions
since cdecl is the default calling convention on Windows for
such functions, the annotation is redundant.

Change-Id: I1a85fa27e5ac65ce0e04a19bde74c90800ffaa2d
Reviewed-on: https://gerrit.libreoffice.org/46164
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-11 12:13:46 +01:00
Stephan Bergmann 20c66302db loplugin:includeform: scripting
Change-Id: I5b1280426667636703c996af8ee08ffeeffeb7e1
2017-10-23 22:45:55 +02:00
Noel Grandin 2c05d758b2 add << operator for css::uno::Exception
Change-Id: Ia23dafd07133779144965682df3b7125a3214235
Reviewed-on: https://gerrit.libreoffice.org/43046
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Jenkins <ci@libreoffice.org>
2017-10-04 15:18:00 +02:00
Noel Grandin 3dcf6dfcee remove unnecessary use of 'this->'
Change-Id: I5c115389af7d24c18ddaf5fbec8c00f35017a5b4
Reviewed-on: https://gerrit.libreoffice.org/40671
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-02 13:45:36 +02:00
Noel Grandin c9253818ec loplugin:oncevar
extend oncevar to any POD type

Change-Id: Ia98ee0a67f183e40fb0c38477760124b2c411dc0
Reviewed-on: https://gerrit.libreoffice.org/40564
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-31 08:25:07 +02:00
Noel Grandin d7e06e46ac use more OUString::operator== in scaddins..sdext
Change-Id: I8bc5c925f940283bc54698bbcba77efcca883273
Reviewed-on: https://gerrit.libreoffice.org/39937
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-14 10:12:31 +02:00
Stephan Bergmann f1cef09fcd loplugin:casttovoid
...cases that were initially missed due to the broken
containsProcessingConditionalInclusion()

Change-Id: Ib7d801ab5173ee590ef35a9e075d3ce4d4aa06da
2017-07-04 08:15:08 +02:00
Stephan Bergmann f6abc3f97e loplugin:casttovoid: scripting
Change-Id: I9f77eca5a80ad4e9d3cee8f7400a245f5fa78bbb
2017-07-02 22:30:49 +02:00
Jochen Nitschke a5dba7dbec remove unused osl/mutex.hxx includes
Change-Id: I3b50e45fdb99e9cd8bfda07356ee3ddb4dd0f8bb
Reviewed-on: https://gerrit.libreoffice.org/38905
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
2017-06-18 13:38:25 +02:00
Jochen Nitschke 0d1a3593c2 cleanup unused css/uri/ includes
Change-Id: I08c7981ecce45e343ff9e98277dd3aea4ed68ab9
Reviewed-on: https://gerrit.libreoffice.org/37860
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-05-20 18:00:23 +02:00
Andrea Gelmini 5a72da3d97 Fix typos
Change-Id: I4e1a613fc99b931e84a1955695364e1d25e25e5c
Reviewed-on: https://gerrit.libreoffice.org/35642
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2017-03-25 17:24:16 +00:00
Noel Grandin 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
Stephan Bergmann 6dce9c6757 Add missing #includes
...and remove some unncessary using directives/declarations, in preparation of
removing now-unnecessary #includes from cppumaker-generated files, post
e57ca02849 "Remove dynamic exception
specifications".

Change-Id: Iaf1f268871e2ee1d1c76cf90f03557527ebc9067
2017-02-06 17:21:16 +01:00
Stephan Bergmann 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
Stephan Bergmann 7b79e23260 New loplugin:dynexcspec: Add @throws documentation, scripting
Change-Id: I3a3f8ad12bad448f0ea2beb698cf4e6636d4595a
2017-01-19 18:03:14 +01:00
Noel Grandin 81f2a9f464 OSL_TRACE->SAL in sc..scripting
Change-Id: I389d8cb733a5ee24d3119a1ebac5a5b70daff04e
Reviewed-on: https://gerrit.libreoffice.org/31900
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-12-13 06:07:57 +00:00
Stephan Bergmann 1800862c70 loplugin:stringconstant: look into 'char const * const var = "..."'
Change-Id: I52a97b8ec273509131c2200e47527221cb62d7ee
2016-11-25 16:42:23 +01:00