Commit Graph

3202 Commits

Author SHA1 Message Date
bf964151a7 Related: #i94895# revert the part of revision 1650261
replaced string should be starting with the start postion if specified

(cherry picked from commit 68c6265584fb6cb0469098507dd287e6e1127324)

Conflicts:
	basic/source/runtime/methods.cxx

Change-Id: Ib729facfa78ffddebc258440324f05d037fae46f
2015-01-11 20:45:28 +00:00
476f75802a Resolves: #i94895# fix illegal result of Replace runtime function"
and adjust the basic test-case, which is surely wrong

The syntax for REPLACE is:

// Replace(expression, find, replace[, start[, count[, compare]]])

surely in the case of a start of 3 the preceeding chars should
be returned unchanged in the result, not stripped off as before
this change.

This reverts commit 869402a58720b45e7227438b2e56e5a9532c0000.

Change-Id: Ie710e4de9e7e35c84abe2770142a963532820af4
2015-01-09 12:05:37 +00:00
2e3655bb51 loplugin:cstylecast
Change-Id: I86aaad9f38ad63121805fa3dc05b3a8a33428ef7
2015-01-09 10:54:45 +01: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
2f69e16c72 override the overloading of "overload" to decrease cognitive (over-)load
Change-Id: I4d0e1de89d0bbdbea23bc5a46bf75ae0ce4e2796
2015-01-09 00:00:47 +01:00
869402a587 Revert "Resolves: #i94895# fix illegal result of Replace runtime function"
This reverts commit 340ca294d43f2c5b9fda1afbf178609a015f71e3 as CppunitTest_basic_vba
breaks, so needs revisiting to see which is right

Change-Id: I10168d454a8c67d91eee5bb8939aff74bba42954
2015-01-08 20:35:35 +00:00
340ca294d4 Resolves: #i94895# fix illegal result of Replace runtime function
(cherry picked from commit a2700f75af61837033ff213607445cc1f74b36d6)

Conflicts:
	basic/source/runtime/methods.cxx

Change-Id: If9c671a612de87d8d37bfc40704a97a6062fd150
2015-01-08 16:51:10 +00: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
a509a8d995 Resolves: fdo#87003 Kill BOOST_FOREACH on master
use C++11s range-based for() loops instead

Conflicts:
	sd/source/filter/eppt/pptx-epptooxml.cxx

Change-Id: I0868eb345932c05b7e40b087035da252b99bf0b9
Reviewed-on: https://gerrit.libreoffice.org/13714
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-01-05 09:34:08 +00:00
f8922b67a4 Remove unnecessary comphelper::string::getToken
Change-Id: I49192637121441b9a1980350b9bb32cd995d4386
2015-01-02 14:22:21 +01:00
7f476fea47 boost::unordered_map -> c++11 std::unordered_map
Change-Id: I28438000c2b0a8e6ce4f5640f861f572c0cb83c8
2014-12-27 23:00:45 +00:00
39ddeb53c0 basic: Use appropriate OUString functions on string constants
Change-Id: I43f99ba6759b0f8f633af784beaec583dbab0b9e
2014-12-18 14:12:23 +01:00
0f5e917024 Introduce rtl::OUStringLiteral1
...to use single ASCII character literals "more directly" in the OUString API
(instead of having to go via an intermediary OUString ctor call).  Especially
useful for character literals that are defined as const variables or via macros
("direct" uses of character literals in the OUString API can often simply be
replaced with single-character string literals, for improved readability).

(The functions overloaded for OUStringLiteral1 are those that are actually used
by the existing LO code; more could potentially be added.  The asymmetry in the
operator ==/!= parameter types is by design, though---writing code like

  'x' == s

is an abomination that shall not be abetted.)

Change-Id: Ic5264714be7439eed56b5dfca6ccaee277306f1f
2014-12-17 16:39:33 +01:00
898c414700 basic: Use appropriate OUString functions on string constants
Change-Id: Ied7e5eba39672363065083493bd5e60449fda371
2014-12-12 10:21:45 +01:00
19d0950451 Resolves: fdo#86843 avoid getting deleted before finishing Broadcast
Change-Id: I19181f9e2fbd5f906e6e5d807b1b2483e7881cf0
2014-12-09 14:13:26 +00:00
93124f7710 reduce scope of local variables
This eliminates some of the warnings from Cppcheck report of
2014-11-29.

Change-Id: Ic4bf3bd8f5982d2ea2f25a28c0dd61084c59af11
Reviewed-on: https://gerrit.libreoffice.org/13331
Reviewed-by: Samuel Mehrbrodt <s.mehrbrodt@gmail.com>
Tested-by: Samuel Mehrbrodt <s.mehrbrodt@gmail.com>
2014-12-06 14:12:31 +00:00
179810cdf2 Further clean-up
Change-Id: I20049b482c831e4ac2221fddfe80deb9847e72c3
2014-12-03 20:30:18 +01:00
9de4fe9853 Code clean-up/consolidation task.
Removing the duplicate code,and consolidating changes
by using  method "getExpandedFilePath" of comphelper.

Signed-off-by: Stephan Bergmann <sbergman@redhat.com>: adapted to recent change
from comphelper::getExpandedFilePath to comphelper::getExpandedUri; fixed the
two changes in framework to actually modify the by--non-const--ref argument;
fixed a loplugin:unreffun.  More clean-up to follow.

Change-Id: Ie8875bcb61b616385bd64151f0a915bf7cce04e5
2014-12-03 20:30:18 +01: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
e6e51a0a90 Add missing include header
Change-Id: I59d6f1401cdfc37c0949cc9d439cb7ff52857079
Reviewed-on: https://gerrit.libreoffice.org/13286
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
2014-12-03 08:04:05 +00:00
ecc56da366 busted loop condition
regression from

commit 119873328acd70ca3569c21a0b1fe36277e8bf4c
Date:   Thu Oct 21 15:34:02 2010 -0500
    convert vos/process.hxx and related API

Change-Id: I36527a4f0109105b9853a79773b4c92f9bc4e902
2014-11-21 11:55:11 +00:00
ef076fa1c1 coverity#1255390 Resource leak
Change-Id: I3631d6bbcf45986deb1e911fcdb0e6606a0c6d91
2014-11-21 11:55:10 +00:00
15b4ab8d19 cppuhelper: clean up public headers with include-what-you-use
Change-Id: I41ba46831f24b2960a1fe982b74a2b623e682e0b
2014-11-18 18:51:49 +01:00
6b709b27b3 coverity#735399 Logically dead code
we can only enter the bAssumeExprLParenMode controlled block once
because the block sets bAssumeExprLParenMode to false

bAssumeExprLParenMode is only true if the first token read in the
method is LPAREN

so we can only enter this block if the current token is LPAREN and
its the first token processed, so the token can't be BYVAL

Change-Id: I6e668fca4d127d7dbfe447e2d9f2231e05278a7d
2014-11-17 14:53:24 +00:00
6a0fe37dec sal: clean up public headers with include-what-you-use
Sadly cannot forward declare "struct {...} TimeValue;".

rtl/(u)?string.hxx still include sal/log.hxx but removing osl/diagnose.h
was painful enough for now...

Change-Id: Id41e17f3870c4f24c53ce7b11f2c40a3d14d1f05
2014-11-17 11:06:53 +01:00
9dacd849b6 this is for detecting the type of a variable based on its name
which means legal input is any character which a variable can
start with

Change-Id: I0c2d13a92ba374f8020e86e90e8e5f18ce8a9c90
2014-11-14 14:31:24 +00:00
41029bcdd0 coverity#1242865 Untrusted value as argument
Change-Id: Ie7a7a2e7894a204dd55833416b7cbc5b01826e64
2014-11-14 12:02:48 +00:00
d32be3ace8 fdo#86023 - O[U]String needs a 'clear' method
Added clear() method to OString and OUString class, Updated appropriate call-sites.

Change-Id: I0ba97fa6dc7af3e31b605953089a4e8e9c3e61ac
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2014-11-14 09:20:38 +01:00
e815987104 vcl: move the Impl class of MapMode ...uhm... out of the public header?
And remove the tools/fract.hxx include.

grep -l -r fract.hxx workdir/Dep/*Object* |wc -l
before: 4569
after:  1851

Shrinks some libraries, example from --enable-dbgutil Fedora gcc 4.8.3:
libvcllo.so by 473k (0.35%)
libswlo.so by ~1Mb (sadly that is just 0.2%)

Change-Id: I09bd025d551a5d2c5528b938a68c6aa5f8f114a0
2014-11-14 01:08:47 +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
7d6c07fa2b coverity#1242689 Untrusted loop bound
Change-Id: Ie226805ef8d430eb3f7b3abaa54ac3af31f72f7b
2014-11-05 21:03:25 +00:00
1409c0bd88 coverity#1242865 Untrusted loop bound
Change-Id: I9dc9cd98d0a02a2867d4c40c7afb7bf873513143
2014-11-05 21:03:24 +00:00
5b0c95d81e coverity#1242794 Untrusted loop bound
Change-Id: I902a5bf989a8f385994a2f927cce4975b18f06d2
2014-11-05 21:03:24 +00:00
12bcfec04f markup with event type not checker type
Change-Id: I14c0c5d90b67000cb4fe9e6be647854abfe784da
2014-11-05 14:58:00 +00:00
705c48d32e fdo#38835 strip out OUString globals
they are largely unnecessary these days, since our OUString infrastructure
gained optimised handling for static char constants.

Change-Id: I07f73484f82d0582252cb4324d4107c998432c37
2014-11-05 08:44:19 +02:00
cb0e009a9e document array_vs_singleton dismissals
Change-Id: I8d7eb4c01197e885abca717c7814c61a7641ac9d
2014-10-30 10:10:09 +00:00
bec2803362 coverity#704558 Dereference after null check
Change-Id: I6fe44d8926acd185bb6bc671fb7df8ae935998c1
2014-10-24 09:24:53 +01:00
28adfcdcbc fdo#84935: basic: avoid silly SolarMutex asserts on exit on Mac
Change-Id: If22b8ff962d2b68130176de3b7b9eccacfc850dc
2014-10-23 21:30:45 +02:00
51906611ab basic: move SbxAppData to a BasicDLL member
... so it is deleted by ~SfxApplication.

Change-Id: I161bd92eb9b5082d1fdeea603921d0372a4d97e6
2014-10-23 21:30:45 +02:00
a7498603d8 basic: pimplify that
Change-Id: I0abe66ded0fd69a2720ad64e1a1426aafc7dfffb
2014-10-23 21:30:45 +02:00
31af61ea09 Fraction: Revert "fdo#81356: convert Fraction to boost::rational<long> - wip"
This reverts commit 47a2d7642d249d70b5da0c330a73f3a0032e4bba.

Conflicts:

	cui/source/tabpages/transfrm.cxx
	svx/source/svdraw/svdedtv1.cxx
	svx/source/svdraw/svdibrow.cxx
	sw/source/filter/ww1/w1filter.cxx
	tools/source/generic/rational.cxx

Change-Id: I4849916f5f277a4afef0e279b0135c76b36b9d15
2014-10-23 18:34:39 +02:00
858c2a2977 Fraction: Revert "fdo#84854 it seems long is not enough on 32 bit"
This reverts commit 582ef22d3e8e30ffd58f092d37ffda30bd07bd9e.

Conflicts:

	svx/source/svdraw/svdedtv1.cxx
	svx/source/svdraw/svdibrow.cxx
	sw/source/filter/ww1/w1filter.cxx

Change-Id: I80abc7abdeddc267eaabc9f8ab49611bb3f8ae83
2014-10-23 18:34:34 +02:00
2e52086aa0 fdo#60689: replace SUPD variable
Change-Id: Iad63330f8762b595ba5ee94fc20bc2c64ac92f6b
Reviewed-on: https://gerrit.libreoffice.org/11937
Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
2014-10-23 14:38:27 +00:00
a1fad26e04 fdo#84935: basic: DocBasicItem is a UNO service, lock SolarMutex in dtor
Change-Id: Ia31d735ba54d18f406653debce04a07c077d09eb
2014-10-23 15:38:20 +02:00
9ecac3874d Replace DISABLE_SCRIPTING with HAVE_FEATURE_SCRIPTING
Feature test macros that govern conditional compilation should be
defined in config_*.h include files, not on the compilation command
line.

Change-Id: I40575a4762fd2564f10927b6f38a112dd9f9a3d7
2014-10-22 09:30:23 +03:00
582ef22d3e fdo#84854 it seems long is not enough on 32 bit
Fraction used BigInt internally for computations, rational does nothing
like that.

Change-Id: I3e9b25074f979bc291208f7c6362c3c40eb77ff5
2014-10-16 17:44:44 +02:00
4c12951a03 Typo: compatability->compatibility
Change-Id: If0b98a30452a9d1fcc340173deb6856755926471
2014-10-12 13:00:46 +02:00
47a2d7642d fdo#81356: convert Fraction to boost::rational<long> - wip
* Added rational util functions used by Fraction class not
  available in the boost::rational class.
* Replaced usage of Fraction by boost::rational<long>
* Removed code that relies on:
  1. fraction.IsValid() -- rational only allow valid values, ie
     denominator() != 0
  2. rational.denominator() == 0 -- always false
  3. rational.denominator() < 0 -- always false but implementation
     detail: http://www.boost.org/doc/libs/release/libs/rational/rational.html#Internal%20representation
* Simplified code that relies on:
  1. rational.denominator() != 0 -- always true
* BUGS EXIST because Fraction allows the creation of invalid values but
  boost::rational throws the exception boost::bad_rational

Change-Id: I84970a4956afb3f91ac0c8f726547466319420f9
Reviewed-on: https://gerrit.libreoffice.org/11551
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-by: David Tardon <dtardon@redhat.com>
2014-10-09 11:33:33 +00:00
fca62934f4 basic: use SolarMutex to lock SfxLibraryContainer
Originally this used both SolarMutex and an own mutex, then a deadlock
was resolved in 2fe6a4a34b38c05e252c71f4d2f18e4a90e61b29 by not locking
SolarMutex.

Since the class will call event listeners without dropping the mutex
e.g. in insertNoCheck(), using the SolarMutex appears better anyway.

With this, installing a BASIC extension no longer triggers SolarMutex
asserts in SfxBroadcaster.

Change-Id: Ib9a2ee491ef53b1a53855af0fc22e863c5e7cb91
2014-10-08 15:46:06 +02:00