Commit Graph

102 Commits

Author SHA1 Message Date
3fb50fbe2b basic: remove over-engineered XEnumeration service
... that was causing duplicate WeakImplHelper symbols now.

Change-Id: Ibbf84a2059f30bfeb5c265adcafb4b56d2534dc8
2015-09-03 16:31:59 +02:00
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
f5deb46349 remove some unused typedefs
Change-Id: I98c1e7eaa66b7afb05255a017a3de54714637501
Reviewed-on: https://gerrit.libreoffice.org/17491
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-08-03 08:53:21 +00:00
b1c25a0d8f inline "old" SbERR constants
Change-Id: I3e6665351de97692ae70207e8b623ad008ca8c9a
2015-07-28 08:35:34 +02:00
01075a7274 inline the "old" SbxErr constants
Change-Id: I1c54c792e0397d61c97d5067963b343f912275fc
2015-07-28 08:35:34 +02:00
9072c5c855 convert SbxFlagsBits to scoped enum
Change-Id: I3dd699ca675be2ff4a8bfb7938bd5d43719b304c
2015-07-28 08:35:34 +02:00
38ecca9b30 inline a bunch of use-once macros
no point in having a macro unless it's actually going to reduce the
number of lines of code

Change-Id: Ic8760d6506cf272d7bd088f7b3b4dcbf288099fc
2015-07-27 08:18:16 +02:00
f7a2795c88 sal_uIntPtr to sal_uInt32, for consistency
Change-Id: Ib78dce61e8fb8c8e3bf8c7a2b02966100a4db0e8
2015-07-19 17:12:32 +02:00
8f9effacd8 basic: try to prevent MSVC from generating copy assignment
Change-Id: I7232f69a465b1acaf069005b3695039bdc96c7a3
2015-07-17 20:46:24 +02:00
15f32b5a1e basic: replace boost::ptr_vector with std::vector<std::unique_ptr>>
Change-Id: I96ea97c1df7903a28387d8e1171075be55a80ca7
2015-07-17 20:26:59 +02: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
e69fd541ca Replace GetAppData(SHL_IDL) with a static pointer var
Change-Id: Ia1e22ff95457a958ef26974091aa2092b32505bd
2015-07-07 07:48:12 +02:00
420923ba76 Fix typos
Change-Id: Ie2bbe020fc6e3a4a4f913208c245f395849bb9ee
Reviewed-on: https://gerrit.libreoffice.org/16708
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
2015-07-03 09:32:26 +00: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
623445aa0e convert PropertyMode to scoped enum
Change-Id: I9b0bbf6273aa18ae918d1d69af5dcc7652181f5c
2015-06-04 08:30:24 +02:00
ae451af87d basic: used typed LINKs
Change-Id: I8770a782e7ff5529e30aee13558711bdd8a4070d
2015-05-19 11:10:54 +02:00
e14b7660f6 Remove SvStorage alias
Change-Id: Id07ace147ff4fd4a17d05ba3cce6408def05c9c7
2015-05-07 11:05:03 +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
4911135f8b SbModule::Run return value is unused
Change-Id: I7cd697d944dc0efbd35b852fc553ba85bc88c15e
2015-04-28 10:19:37 +02:00
4950c579d1 callcatcher: update unusedcode
Change-Id: I4b2a7ea03aafbfbf1fece1533da801a4326d80f9
2015-04-19 13:03:01 +01: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
4e0d2fcdda BASIC: Merge BasicLibs with BasicManagerImpl and use boost::ptr_vector.
Change-Id: I36fc3ce26b129b11fc2d6d2829a146b3fa57b783
Reviewed-on: https://gerrit.libreoffice.org/15267
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: David Tardon <dtardon@redhat.com>
2015-04-13 06:19:23 +00:00
c3fb36ed26 Clean up C-style casts from pointers to void
Change-Id: I6dd7c7fbaf0d4b22abba0a7b1f5e37f0a46d0747
2015-03-28 19:09:17 +01: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
25d3c618d8 Typo: formated->formatted
Change-Id: Iefd4d375a0dfb36732233852f906c6b85dccc2a5
2015-03-25 21:12:16 +01:00
c7a50d072f new constantfunction loplugin
Change-Id: Ie9b7a0c41fc4dbd2560ceff6bae9ab85357f518b
2015-03-25 08:55:31 +02:00
bf96ec5d8a boost->std
Change-Id: I44b208a2c5c5bf73ac025462c9f7bd499ed0a49b
2015-02-16 13:11:36 +00:00
a1ceacc17e boost::foo_ptr->std::foo_ptr
Change-Id: I9219619b538b6530a89f5932ac51eb3b62eb396a
2015-02-16 12:54:44 +00:00
d41b8ac9e5 callcatcher: shave off a few more
Change-Id: Ie48cf7f89c8c826e56409c2493e1e1250086f10a
2015-02-02 21:07:54 +00:00
309574394b callcatcher: large newly detected unused methods post de-virtualization
i.e lots now able to be detected after...

commit b44cbb26efe1d0b0950b1e1613e131b506dc3876
Author: Noel Grandin <noel@peralex.com>
Date:   Tue Jan 20 12:38:10 2015 +0200

    new loplugin: change virtual methods to non-virtual

    Where we can prove that the virtual method is never overriden.

    In the case of pure-virtual methods, we remove the method entirely.
    Sometimes this leads to entire methods and fields being
    eliminated.

Change-Id: I605e2fa56f7186c3d3a764f3cd30f5cf7f881f9d
2015-01-29 23:42:26 +00:00
f61dbc3029 followup code removal after changing virtual methods to non-virtual
This cleanups up indentation and removes dead classes.

This is a followup patch to commit
272b1dd55797aacf511fb4342b0054e3697243f6
"new loplugin: change virtual methods to non-virtual"

Change-Id: I1c2139589cf8cb23bb9808defe22c51039d38de1
2015-01-26 08:42:29 +02:00
b44cbb26ef new loplugin: change virtual methods to non-virtual
Where we can prove that the virtual method is never overriden.

In the case of pure-virtual methods, we remove the method entirely.
Sometimes this leads to entire methods and fields being
eliminated.

Change-Id: I138ef81c95f115dbd8c023a83cfc7e9d5d6d14ae
2015-01-26 08:42:28 +02:00
a272f5b7b3 Resolves: #i63614# fix strange type mismatch when Iif function is used
Second or later compilation uses value type returned by previous execution of code.
Use the defined type as return value of the runtime function of Basic always.

(cherry picked from commit 7470c682e136a4a89c1e9474bbc79b2d61f31048)

Conflicts:
	basic/inc/basic/sbxmeth.hxx
	basic/inc/basic/sbxobj.hxx
	basic/source/runtime/stdobj.cxx
	basic/source/sbx/sbxobj.cxx

Change-Id: I3064e8403286a9c1401ef658bf139bedeae11f17
2015-01-09 09:24:44 +00:00
45ec1d9b56 brute-force find-and-remove of unused #define constants.
Change-Id: I7223530ae37297a76654cd00cc1fedb56dbe3adb
2015-01-08 10:39:36 +02:00
fd1372ba8b boost::unordered_map->std::unordered_map
you can get debug stl this way

Change-Id: Ia70a3e7c7c452390e8bee34975d296c9318e4a19
2015-01-02 16:14:36 +00:00
57fe576778 fdo#84938 replace BASERR_REASON_ constants -> enum
Change-Id: I80fe0108c2d27b72d2fadc23032cf2b52c3193a6
Reviewed-on: https://gerrit.libreoffice.org/13268
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2014-12-03 08:25:02 +00: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
a7498603d8 basic: pimplify that
Change-Id: I0abe66ded0fd69a2720ad64e1a1426aafc7dfffb
2014-10-23 21:30:45 +02:00
ad9498f8b8 More -Werror,-Wunused-private-field
...detected with a modified trunk Clang with

> Index: lib/Sema/SemaDeclCXX.cpp
> ===================================================================
> --- lib/Sema/SemaDeclCXX.cpp	(revision 219190)
> +++ lib/Sema/SemaDeclCXX.cpp	(working copy)
> @@ -1917,9 +1917,10 @@
>    const Type *T = FD.getType()->getBaseElementTypeUnsafe();
>    // FIXME: Destruction of ObjC lifetime types has side-effects.
>    if (const CXXRecordDecl *RD = T->getAsCXXRecordDecl())
> -    return !RD->isCompleteDefinition() ||
> -           !RD->hasTrivialDefaultConstructor() ||
> -           !RD->hasTrivialDestructor();
> +    return !RD->hasAttr<WarnUnusedAttr>() &&
> +           (!RD->isCompleteDefinition() ||
> +            !RD->hasTrivialDefaultConstructor() ||
> +            !RD->hasTrivialDestructor());
>    return false;
>  }
>
> @@ -3517,9 +3518,11 @@
>    bool addFieldInitializer(CXXCtorInitializer *Init) {
>      AllToInit.push_back(Init);
>
> +#if 0
>      // Check whether this initializer makes the field "used".
>      if (Init->getInit()->HasSideEffects(S.Context))
>        S.UnusedPrivateFields.remove(Init->getAnyMember());
> +#endif
>
>      return false;
>    }

to warn about members of SAL_WARN_UNUSED-annotated class types, and warn about
initializations with side effects (cf.
<http://lists.cs.uiuc.edu/pipermail/cfe-dev/2014-October/039602.html>
"-Wunused-private-field distracted by side effects").

Change-Id: I3f3181c4eb8180ca28e1fa3dffc9dbe1002c6628
2014-10-15 15:58:56 +02:00
5bce329040 SfxHint: convert home-grown RTTI to normal C++ RTTI
Also note that I fixed a bug in SvxFontMenuControl::Notify
where the if statement had the check the wrong way around.

Change-Id: I611e8929c65818191e36bd80f2b985820ada4411
Reviewed-on: https://gerrit.libreoffice.org/11147
Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
Tested-by: Norbert Thiebaud <nthiebaud@gmail.com>
2014-09-06 15:47:44 -05:00
37b9ea92ba convert SBX flag bits to type-safe enum
Change-Id: I18d5d6a27f06ee60a5cb3dc393bf05b51bba4817
Reviewed-on: https://gerrit.libreoffice.org/11070
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2014-08-26 04:30:03 -05:00
7e2b9fa213 Remove some useless tools/debug.hxx includes
Also remove the tools/solar.h included from tools/debug.hxx. The include of solar.h
header was necessary in some cases because of a macro or a typedef that was needed.

Change-Id: Ia6e15d5c2571c58c9e9138b0d0a7f08ae88053c9
Reviewed-on: https://gerrit.libreoffice.org/11075
Reviewed-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
Tested-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
2014-08-22 16:33:18 -05:00
73b2ea1dfa Remove BasicManagerCleaner
Change-Id: I55eccc6367cf3255af05c075631945f47417d682
2014-08-22 09:06:55 +02:00
c694837aea convert linked list to std::vector in SbxDimArray
Change-Id: I2640cfe1f9606d992f622b99ff3c607555771e23
Reviewed-on: https://gerrit.libreoffice.org/10298
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
2014-07-29 15:38:56 +00:00
6a873638fa Renamed brdcst.[hc]xx to SfxBroadcaster.[hc]xx
- Remove includes from files where they are not needed.
- Update pch files

Change-Id: I0188e3934ef429008c1ef495ab1d5b27f38664d5
Reviewed-on: https://gerrit.libreoffice.org/10342
Reviewed-by: Thomas Arnhold <thomas@arnhold.org>
Tested-by: Thomas Arnhold <thomas@arnhold.org>
2014-07-17 08:47:58 +00:00
ec1636fa09 Remove this weird inheritance from smart-pointer-wrapped class.
SbxVarEntry is now its own class.

Change-Id: I5c5ce1990fa83930acced1d507f5b0de60bf221e
2014-06-25 15:03:46 -04:00
e14abb13dc Use boost::optional to store alias name.
Change-Id: I809b21ea156061a265c0d83d58534df10bc273bc
2014-06-25 15:03:46 -04:00
ff0ecb2621 pData -> mpVarEntries.
pData is a nightmare with grepping as it's too generic of a name.

Change-Id: I01b3f1b503f21ee13c97733fa66804874a2cddc4
2014-06-25 15:03:46 -04:00
bb6d9b0123 Remove this class that only derives from std::vector and not much else.
Change-Id: Ibc584f4148cec49a9ac34a240cc2fa3e87daf443
2014-06-25 15:03:46 -04:00