Commit Graph

472 Commits

Author SHA1 Message Date
8a7b7b7b72 New identifier for save/open macro with user defined types
no version bump but B_USERTYPE defined

fix test from commit de26ef85 that should be nMaxRecords

tested full round trip on password protected document (ie. use binary storage)
master --(0)--> master --(1)--> libreoffice 4.4 --(2)--> master --(3)--> master

(0) in master, User type supported, big module supported
(1) in libreoffice 4.4, user type not supported, big module supported, no loss of code
(2) in master, user type not supported, big module not found, no loss of code
    it is OK as libreoffice 4.4 saves to LegacyVersion
(3) in master, User type supported, big module supported (all is restored)
    it is OK as module was saved with CURRENT_VERSION (see sbxmod.cxx)

Change-Id: I237cf7de70adf1a755be1bc30987b21c43b6ab35
Reviewed-on: https://gerrit.libreoffice.org/17871
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-08-31 10:14:12 +00:00
7985e5245a BASIC : SbiParser::pBasic is useless
Change-Id: I5aa041f78ea5685b996a6baf1d7bc22d5bd957ab
Reviewed-on: https://gerrit.libreoffice.org/17782
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-08-17 07:20:31 +00:00
0d737f2683 BASIC : SbiRuntime::ClearExprStack should return void
Change-Id: I704d8920ec44b6d2eb1fc9599dc37e41a28b5e63
Reviewed-on: https://gerrit.libreoffice.org/17779
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Arnaud Versini <arnaud.versini@libreoffice.org>
2015-08-16 12:27:49 +00:00
50097a8bb2 basic,basctl: inline some use-once typedefs
Change-Id: I60619a5bfe9507fb5ed24123f62f6b5c2f2c8712
2015-08-04 08:55:56 +02:00
2660d24a07 new loplugin: refcounting
This was a feature requested by mmeeks, as a result of
tdf#92611.

It validates that things that extend XInterface are not
directly heap/stack-allocated, but have their lifecycle managed
via css::uno::Reference or rtl::Reference.

Change-Id: I28e3b8b236f6a4a56d0a6d6f26ad54e44b36e692
Reviewed-on: https://gerrit.libreoffice.org/16924
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-08-03 06:37:16 +00:00
c2ac8569de convert SBSTRM constants to scoped enum
Change-Id: I478a9c7eca6509baf3e9a3dd3ce3dd8f3060f842
2015-07-29 12:10:18 +02:00
b1c25a0d8f inline "old" SbERR constants
Change-Id: I3e6665351de97692ae70207e8b623ad008ca8c9a
2015-07-28 08:35:34 +02:00
b4ee16da65 com::sun::star->css in basic
Change-Id: I637fd7aedeb97b7dca22521474a54a1d4274f212
Reviewed-on: https://gerrit.libreoffice.org/17206
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-20 09:39:36 +00:00
22b094f5d8 loplugin:unusedmethods basic
Change-Id: Iddfbde451088750f8c74f3ac72c35b5ccfbe0ab1
Reviewed-on: https://gerrit.libreoffice.org/17044
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-15 09:07:05 +00:00
7640e244db tdf#88206 replace cppu::WeakImplHelper* etc.
with the variadic variants, in basic.

Change-Id: I13c5644bd6b9e964e42a98bee9c3019d959efb36
Reviewed-on: https://gerrit.libreoffice.org/16719
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-06 07:28:21 +00:00
ffa8892c5a Fix typos
Change-Id: I75b4ad61785bf0ba1cb07735d938c0977356b8cc
Reviewed-on: https://gerrit.libreoffice.org/16705
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <s.mehrbrodt@gmail.com>
2015-07-04 10:23:17 +00:00
fabe329412 BASIC : Remove SbCodeGen attribute from SbiExprNode and user std::unique_ptr.
Change-Id: I9f44f6a4b61987de960b77f54bac8cf2c981bd2a
Reviewed-on: https://gerrit.libreoffice.org/16551
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: David Tardon <dtardon@redhat.com>
2015-07-02 07:43:03 +00:00
50bd0c8573 coverity#1308521 Uncaught exception
Change-Id: I6a189e0d1c4eb04e727fdf12585d46a1f4121f68
2015-06-28 17:55:52 +01:00
07d85c4499 remove SFX_NOTIFY macro
it has not served any purpose since we switched to using normal C++ RTTI
for the SfxHint objects

Change-Id: Ic81353bcb7863ce892eb75296248ca14d8fd6c86
2015-06-24 12:06:34 +02:00
0766db041e BASIC: Don't use SbiStringPool to pass SbiParser.
Change-Id: I15949e604285d804de1554d36acf36e8a407ebd9
Reviewed-on: https://gerrit.libreoffice.org/16137
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Arnaud Versini <arnaud.versini@libreoffice.org>
2015-06-13 11:53:03 +00:00
563a3935b8 BASIC: Remove BasicCharClass::IsLetterTab
Change-Id: Ib6a13cb7a5725d451c0f8d64c2c543a8a9ec2ad0
Reviewed-on: https://gerrit.libreoffice.org/15876
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: David Tardon <dtardon@redhat.com>
2015-05-26 08:46:32 +00:00
6a4a55d5f4 BASIC: User std::unique_ptr in basic runtime
Change-Id: Iac7efdad78cf2f827cbddbc671dd0d1b5ae1d467
Reviewed-on: https://gerrit.libreoffice.org/15874
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-05-26 08:13:35 +00:00
ae451af87d basic: used typed LINKs
Change-Id: I8770a782e7ff5529e30aee13558711bdd8a4070d
2015-05-19 11:10:54 +02:00
539ba642d7 remove unnecessary header file
Change-Id: I3b86a54a773341be7e7e69e88c59dc531ea49c5b
2015-05-17 10:08:59 +02:00
3ead3ad52f Gradually typed Link
Turn the Link class into a template abstracting over the link's argument and
return types, but provide default template arguments that keep the generic,
unsafe "void* in, sal_IntPtr out" behvior.  That way, individual uses of the
Link class can be updated over time.

All the related macros are duplicated with ..._TYPED counterparts, that
additionally take the RetType (except for LINK_TYPED, which manages to infer the
relevant types from the supplied Member).

(It would have been attractive to change the "untyped" LinkStubs from taking a
void* to a properly typed ArgType parameter, too, but that would cause
-fsanitize=function to flag uses of "untyped" Link::Call.)

Change-Id: I3b0140378bad99abbf240140ebb4a46a05d2d2f8
2015-04-30 10:20:00 +02:00
71b809959b remove unnecessary use of void in function declarations
ie.
    void f(void);
becomes
    void f();

I used the following command to make the changes:

  git grep -lP '\(\s*void\s*\)' -- *.cxx \
    | xargs perl -pi -w -e 's/(\w+)\s*\(\s*void\s*\)/$1\(\)/g;'

and ran it for both .cxx and .hxx files.

Change-Id: I314a1b56e9c14d10726e32841736b0ad5eef8ddd
2015-04-15 11:47:12 +02:00
ee094bd46f loplugin:staticmethods
Change-Id: If97f01a05294fa7efd59a8934c7b6f65cda5084a
2015-04-13 09:37:12 +02:00
0511c86791 const_cast: convert some C-style casts and remove some redundant ones
Change-Id: If774a3b4e2e993d26dd9b5777a55665a330b2abe
2015-03-26 15:33:28 +01:00
5a308b1239 V801: Decreased performance
Change-Id: Iba139ede7bd72e23c0b7a28a8a4ff38ea816725a
2015-03-09 12:41:09 +00:00
32f95a3551 V813: Decreased performance
Change-Id: I8a7528366156b288dc422b09cff0d5a32cde3c91
2015-03-04 13:07:40 +00:00
e9beb26470 convert SBI_ constants to enum class
Change-Id: I65e706f4e1adfe242808293d9514c9db8d22cc12
2015-03-02 08:59:18 +02:00
164276a0d2 Clean up previous commit
Change-Id: Iddade9d297be8f4a4e69b3bec5ab7588bf68c112
2015-02-26 15:34:57 +01:00
a45a5501cc basic: convert sb.component to constructor usage
Change-Id: I45ddf460fa7d673c5210f9415b2a8015988a643e
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2015-02-26 15:05:23 +01:00
d93bcf7790 loplugin:deletedspecial
Change-Id: Iabc7b3fe295743db014e0bce78f9dc65e069d848
2015-02-07 12:35:56 +01:00
4b9a9ce8a0 Use rtl/character.hxx in basic module when possible
Change-Id: I1296541ac1a6a65a613818a1264c2b7482915e64
Reviewed-on: https://gerrit.libreoffice.org/14170
Reviewed-by: Arnaud Versini <arnaud.versini@libreoffice.org>
Tested-by: Arnaud Versini <arnaud.versini@libreoffice.org>
2015-01-31 09:48:27 +00:00
fe480d8136 remove unused typedefs
found with some minor modifications to find/find-unused-defines.sh

Change-Id: I18cc479adedc7a0dada68a4aeef08300e62631dd
Reviewed-on: https://gerrit.libreoffice.org/14194
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-01-28 06:19:49 +00:00
2f69e16c72 override the overloading of "overload" to decrease cognitive (over-)load
Change-Id: I4d0e1de89d0bbdbea23bc5a46bf75ae0ce4e2796
2015-01-09 00:00:47 +01:00
45ec1d9b56 brute-force find-and-remove of unused #define constants.
Change-Id: I7223530ae37297a76654cd00cc1fedb56dbe3adb
2015-01-08 10:39:36 +02:00
7f8f277b94 fdo#84938: convert STREAM_ #defines to 'enum class'
Change-Id: Ibbf14c7e9a5c1883c1311d4c86f948f74f8e473e
2015-01-07 11:20:44 +02:00
7f476fea47 boost::unordered_map -> c++11 std::unordered_map
Change-Id: I28438000c2b0a8e6ce4f5640f861f572c0cb83c8
2014-12-27 23:00:45 +00:00
179810cdf2 Further clean-up
Change-Id: I20049b482c831e4ac2221fddfe80deb9847e72c3
2014-12-03 20:30:18 +01:00
da40cac540 Fix common typos. No automatic tools. Handmade…
Change-Id: I1ab4e23b0539f8d39974787f226e57a21f96e959
Reviewed-on: https://gerrit.libreoffice.org/12164
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2014-11-12 11:04:11 +00:00
fbf3aa391b spelling: instanciated -> instantiated
Change-Id: I99f3010e30f81786b938dc11736ea1597cd5530d
2014-10-08 11:02:55 +02:00
d438c470d7 coverity#1231668 Unchecked return value
Change-Id: Ia7e47b5d42e9a488b3952f12d607b3f17661c44d
2014-08-17 16:39:21 +01:00
50725318e4 Drop an unused function
Change-Id: I59eb46f9d57e9fd72ed86c972685be93d154e3c7
2014-07-18 23:24:58 +09:00
fffc9b2f26 fdo#75757: remove inheritance to std::vector
... which was introduced at 2110397670695991b3a5cd28a15ba0ffd2a3a611.

Change-Id: If0f634b29e1891574267edf8cc07b24d07a9406c
Reviewed-on: https://gerrit.libreoffice.org/10363
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2014-07-17 21:29:50 +00:00
dac4ca5f68 new loplugin: externalandnotdefined
Find "missing headers," where a function is declared directly in the
.cxx (as extern) and not defined, and should arguably instead be declared
in an include file.

Change-Id: I6d83ee432b2ab0cd050aec2b27c3658d32ac02a2
2014-07-11 14:12:25 +02:00
c80be30203 coverity#706241 Uncaught exception
we've already checked to see if the element exists, so
we know that its not there.

Change-Id: I538c0d48a883d478e4c748d222b21958d083c049
2014-07-03 08:29:41 +01:00
e48a233960 loplugin:unreffun: also warn about redundant redeclarations
Change-Id: I9a812220b58cf6da00d854e65794f7c673ab239d
2014-06-27 15:27:39 +02:00
3e82897353 improve the inlinesimplememberfunctions clang plugin
Change-Id: I6d5a952901648e01904ef5c37f953c517304d31e
2014-06-17 10:55:17 +02:00
184a00b962 loplugin: inlinesimplememberfunctions
Change-Id: I42119f656ca528286fb25d2d36c0af54b7d04a6b
2014-06-09 10:10:13 +02:00
a77a7f6083 Fix memory leak
...by using css::uno::Type instead of a naked typelib_TypeDescription.

Change-Id: I387692265e9e032cb5ed6519739ebb3307db6f28
2014-05-28 14:34:12 +02:00
5246fa2624 fdo#68983: basic: if the library is not loaded fully, copy source storage
Also fixes fdo#42899 and fdo#67685 in a different way; the previous fix
for fdo#42899 caused the problem with password-protected libraries for
which the password is not known: only the binary representation of the
BAISC module was stored, not the source code; by simply copying from the
source storage the problem can be avoided.

It would be possible to ask for the password when storing, but that
would not work when non-interactive (called via API).

An alternative fix would be to pass in the
SfxObjectShell::IsSetModifyEnabled() flag and actually reset the BASIC
library's modify flag correctly, but that requires adding a
parameter to XStorageBasedLibraryContainer::storeLibrariesToStorage().

(regression from af34774d260a68fc02cd78ba90dd8d4afaf1a2a4 )

Change-Id: I4701401f35171139fc2fe8d225d13d4e533091a0
2014-05-22 13:12:55 +02:00
b4285a90d8 fixincludeguards.sh: basic 2014-04-19 11:10:08 +02:00
cc725643fd Clean up function declarations and some unused functions
Change-Id: I63c4c61847fea4500b667a5ea9f2b32207692033
2014-04-09 10:12:02 +02:00