Commit Graph

157 Commits

Author SHA1 Message Date
1392a88c25 fdo#52076 remove empty library instead of writing it out empty
Change-Id: Id4fd8c4f34e8ed07044eb428049731c4b9b694ca
Reviewed-on: https://gerrit.libreoffice.org/10507
Reviewed-by: Lionel Elie Mamane <lionel@mamane.lu>
Tested-by: Lionel Elie Mamane <lionel@mamane.lu>
2014-07-24 15:34:09 +00: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
b35f3dfb1a coverity#706240 Uncaught exception
Change-Id: Ie31f5e1ff74ff8b9f35d7ce08e1f02a780375890
2014-07-01 16:43:05 +01:00
533c6cb6ba fixes for up-casting to Reference<XInterface>
Fix regressions introduced with
6a043e9c0acff20e1618ca8ec15c21d5d0fd0d37 "Use the new type-checking
Reference constructor to reduce code noise"

Change-Id: I85662856f21c810a7db497fe3b0e116f075b1687
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2014-06-25 17:10:43 +02:00
2278e8f80e coverity#1213486 Uncaught exception
Change-Id: Ia4d919d88bf22168aa770ad35fd8360b0b155efe
2014-06-13 09:50:53 +01:00
9284a63add iprevent violation of exception spec
Change-Id: I1f638ae3a2e88e0cadaab0046ef087fe77e16b06
2014-06-10 15:58:24 +02:00
6a53ea218c Avoid possible memory leaks in case of exceptions
Change-Id: Iad3de981a1c9660b1322315640e531c9891db0bf
2014-05-31 00:35:27 +09:00
0f2824b117 remove more unnecessary use of OUString constructor
Change-Id: Iae14cb3df65295b6894fd9e05411c5698e9c8aba
2014-05-27 08:20:12 +02:00
e7bc3cab01 remove boilerplate in UNO Exception constructor calls
Now that we have default values for Exception constructor params,
remove lots of boilerplate code.

Change-Id: I620bd641eecfed38e6123873b3b94aaf47922e74
2014-05-23 15:06:00 +02:00
b09b5f8f7c Prefer cppu::UnoType<T>::get() to ::getCppuType((T*)0) part19
Change-Id: Iab50c52a132c90389992ef68c2d31df95a193ab9
2014-05-22 23:21:18 +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
5ca4b9d510 Revert "fdo#67685 open xSourceLibrariesStor only when needed"
This reverts commit fc9080a0c60f263d00eb71111fcda72b3c0a2ebb.

This bug was apparently introduced by
af34774d260a68fc02cd78ba90dd8d4afaf1a2a4, which will be reverted
in the next commit.

Change-Id: I81ccb5bf9cc7e29fbf1e66d02f38268ee1fd1d0c
2014-05-22 13:12:55 +02:00
0e21019e0d fdo#68983: Revert "remove #if 0 block (from ...
... af34774d260a68fc02cd78ba90dd8d4afaf1a2a4)"

This reverts commit cbd1a89676f39135ed2e9c47d20475b2053289b9.

Conflicts:
	basic/source/uno/namecont.cxx

Change-Id: I665f2e875c6b339ad718ca53fd0e54328efaeaff
2014-05-22 13:12:55 +02:00
1eee88dd6b basic: sal_Bool->bool
Change-Id: I1c084ca86c0b1308eb2fc1451ba34d2e702c6a7f
2014-04-07 13:53:50 +02:00
5babf1b903 remove unnecessary scope qualifier from sal_Bool uses
i.e. convert "::sal_Bool" to "sal_Bool"

Change-Id: Ie5943aee4fee617bf2670655558927ed25b7e067
2014-04-03 13:54:02 +02:00
061130bd6d fdo#75280 Started cleaning up of sal_uIntPtr usage.
Converted wrong usage of sal_uIntPtr to appropriate other types in basic
module.

The bug is not fully fixed with this since many other occurences of sal_uIntPtr remain.

Update due to code review comments:
Fixed forgetting to change some declarations in iosys.cxx.
Cleaned up the one remaining sal_uIntPtr in iosys.cxx
Fixed adding a sal_uInt64 to a Date (uses long now instead) in methods.cxx
Fixed the VarDecFromUI4 call in sbxdec.cxx from sal_uLong to ULONG .

Conflicts:
	basic/source/runtime/iosys.cxx

Change-Id: Ia6460be04967deb68b92eb62d945da8814fae605
2014-03-28 20:08:46 +01:00
77fd24afc6 Remove remaining DBG_CTOR etc. remnants from basic
Change-Id: Ia714029c2e32e28c1bb6f4f59d0c7f357eccc236
2014-03-28 15:15:26 +01:00
90dcd2ac13 basic: simplify deprecated XTypeProvider.getImplementationId
Change-Id: I7f0d75c5eaa62f012cb2ae19c5107c09cbc6936a
2014-03-10 17:39:52 +01:00
5e21a413c7 cppuhelper: retrofit std::exception into overriding exception specs
Change-Id: I56e32131b7991ee9948ce46765632eb823d463b3
2014-02-26 18:22:20 +01:00
6a38eace8c Remove visual noise from basic
Change-Id: I10865b94f67de39e9dbcbe71ede42aa94d81db61
Reviewed-on: https://gerrit.libreoffice.org/8234
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-02-25 21:09:17 +00:00
f96f38f8f8 bool improvements
Change-Id: I571354540f1ab108c55d32c20786d34a799c3bed
2014-01-28 20:26:30 +01:00
5c734f440a coverity#738565 Uninitialized scalar field
Change-Id: Ie969773240bd7ecdcf56d7c533010d0aa32872c8
2014-01-28 11:29:15 +00:00
a2505ae731 SAL_WARN_UNUSED INetURLObject
Change-Id: Ia9af3b76c2a2ac654b02c1502aa2d0c2c987fbf2
2013-11-11 16:50:05 +01:00
e9c4ee996d remove unnecessary use of OUString constructor in BASIC module
Change-Id: Iee86ce9200285647d5031cb2f89266a52704dd44
2013-11-11 11:21:25 +02:00
2d1675c3ad The getSupportedServiceNames implementations will already take care
Change-Id: I0c7ae8e0393f069259b943e04368e874abdf8386
2013-10-17 15:03:50 +02:00
3d3293144b fdo#54938: Adapt svtools and comphelper module ...
to  use cppu::supportsService and other pieces.

Change-Id: I16893b3d31a8055acd214ff23d01e63d38fe0826
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2013-10-17 14:43:28 +02:00
98de5b40c8 Related: fdo#38838 remove UniString::EqualsIgnoreCaseAscii
Change-Id: Ib5c3a2daa4a48bc286b14fa2cebb3306ea0012bc
2013-09-25 19:24:23 +02:00
41dec09ed3 convert BASIC from String to OUString
Change-Id: I4b046e4c460305acad29862341092af948639215
2013-09-17 09:05:52 +02:00
c6a7300974 Use subfolder names from <config_folders.h>
Change all instances of hardcoded "program", "share" etc subfolder names to
use those from <config_folders.h> instead. In normal builds, the end result
will not change.

Change-Id: I91c95cd8e482818be67307e889ae6df887763f53
2013-08-18 21:11:16 +03:00
a43a18edb0 do *not* silently ignore errors when saving libraries
In case of error, it leads to *data* *loss*.

Change-Id: I80d806ef10a3364174eced3095ebf1ea217d75b4
2013-08-02 23:36:40 +02:00
fc9080a0c6 fdo#67685 open xSourceLibrariesStor only when needed
else it keeps loadLibrary from completing,
because the latter cannot open the storage
because it is already open in read/write mode.

Change-Id: Icd0aabfff6e67af2c38a8f9185f8485b46ab1516
2013-08-02 23:36:40 +02:00
a95d1eff07 Remove effectively unused INetURLObject OString overloads
Change-Id: Icbbe27b229d5454d27be646e00e8b362a77359b3
2013-07-29 08:26:29 +02:00
ba0a57702c remove OUString wrap for string literals
For some functions and all kinds of Exceptions.

CannotConvertException
CloseVetoException
DisposedException
EmptyUndoStackException
ErrorCodeIOException
Exception
GridInvalidDataException
GridInvalidModelException
IOException
IllegalAccessException
IllegalArgumentException
IllegalTypeException
IndexOutOfBoundsException
NoMasterException
NoSuchElementException
NoSupportException
PropertyVetoException
RuntimeException
SAXException
ScannerException
StorageWrappedTargetException
UnsupportedFlavorException
VetoException
WrappedTargetException
ZipIOException
throwGenericSQLException
throwIllegallArgumentException

createInstance
createInstanceWithContext
forName
getByName
getPackageManager
getPropertyValue
getUnpackedValueOrDefault
getValueByName
hasPropertyByName
openKey
setName
setPropertyValue
supportsService

bash command:

for i in `cat list`; do git grep "$i\s*(\s*OUString(\s*\"" -- '*.[hc]xx'
	| cut -d ':' -f1 | sort -u
	| xargs sed -i
		-e "s/\(\<$i\s*(\)\s*OUString(\s*\(\"[^\")\\]*\"\)\s*)\s*/\1\2/g"
		-e "s/\($i.*\)\"+ /\1\" + /g";
done

Change-Id: Iaf8e641b0abf28c082906014f87a183517630535
Reviewed-on: https://gerrit.libreoffice.org/4624
Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org>
Reviewed-by: Thomas Arnhold <thomas@arnhold.org>
Tested-by: Thomas Arnhold <thomas@arnhold.org>
2013-06-29 21:52:54 +00:00
3c8d419f4b SfxLibraryContainer::storeLibraries_Impl: make saving basic macros work again
Regression from cbd1a89676f39135ed2e9c47d20475b2053289b9, that commit
accidentally not only removed the #if 0 block, but also two other
braces -- because of this, in case bStorage was false, nothing was
saved. The effect of this was that if the user edited some macro in the
basic IDE, then saved the macro, it was shown as saved, but in fact that
didn't happen.

Change-Id: I20f8358dddfb226976be72f95dcad64de88d83c3
2013-06-03 18:01:46 +02:00
6a043e9c0a Use the new type-checking Reference constructor to reduce code noise
Also create a Clang compiler plugin to detect such cases.

Change-Id: I61ad1a1d6b1c017eeb51f226d2dde0e9bb7f1752
Reviewed-on: https://gerrit.libreoffice.org/4001
Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2013-05-22 10:44:29 +00:00
4460f213df fdo#46808, use XComponentContext in SfxLibraryContainer
Change-Id: I6f66fc69a40e2cd2ef2372e0413ff95b6202c5c5
2013-05-14 08:08:27 +02:00
67042f1f03 fdo#46808, replace XMultiServiceFactory with XComponentContext is SfxLibrary
Change-Id: I150d86b4ae4004e7c39ec6a3ed7fba31029f8ab1
2013-05-14 08:08:26 +02:00
cbd1a89676 remove #if 0 block ( from af34774d260a68fc02cd78ba90dd8d4afaf1a2a4 )
I left in that block in the mentioned commit above for mostly because
I preferred a more obvious hack/change to cherry-pick to 4.0
The more I think about this ( despite the still imho problematic setting
of the modify state ) I think always writing from memory to the storage
is the right thing to do

Change-Id: I13c82b9d6b55120482c65fb7a5bfadb2396c347c
2013-05-09 09:54:41 +01:00
af34774d26 hopefully this fixed the strange autorecovery related dataloss fdo#42899
also this is a fix for bnc#817477
Disabling the optimisation of copying the library container storage
to target storage for the moment ( hopefully after some rework
it might make some sense to re-enable this code ) The problem here is
there is a tragic flaw in the api implementation. In the implementation
the library in-memory model state reflects that the library model
has been saved to storage but not the library container storage
as you ( or at least I ) would expect but actually any storage.
So to illustrate the problem, during autorecovery when the
basic library containers are stored to the autorecovery file the
library pImplLib->implIsModified() is set to false, any subsequent save
attempt will think the library is not modified and will attempt
to the librarycontainer storage to the target one. However, in this case the
source (library container) storage has never been updated with the changes
from memory.
Can't we simply only update the 'implIsModified' state only if the library
container's own storage and the storage to store to are the same ?
Sounds like a good idea, unfortunately this is not possible due to the way
that sfx spaghetti code uses temporary storages for even own copies and
also because it sets the new root storage for the library container
after the library copy happens. ( some stuff in dbaccess appears to
depend on this as well )
AFAICT for any document save/saveas etc. operation the librarycontainer's
own storage and the storage we save to are *always* different.
So for the moment it seems best to *always* write the storage from the
in-memory model.

Change-Id: Ia24e7a6119558497d901370dbc0986101bde4de9
2013-05-08 21:10:46 +01:00
1946794ae0 mass removal of rtl:: prefixes for O(U)String*
Modules sal, salhelper, cppu, cppuhelper, codemaker (selectively) and odk
have kept them, in order not to break external API (the automatic using declaration
is LO-internal).

Change-Id: I588fc9e0c45b914f824f91c0376980621d730f09
2013-04-07 14:23:11 +02:00
159edc4313 Bypass extension scanning unless HAVE_FEATURE_EXTENSIONS
Change-Id: I6ada96fc5cea895b967387c10814a7003e1e492b
2013-03-28 00:17:37 +02:00
dfcc20fd8e More "compareToAscii(RTL_CONSTASCII_STRINGPARAM(s)) != compareTo(s)" fixes
Change-Id: Ia93b281b07559fb6f0d67d53dd91dfacf2be0d0b
2013-03-19 17:46:51 +01:00
8035a3af26 some further OUString cleanup
Change-Id: I13eb94092e29ececc9fbf494074acde5f893b605
2013-03-08 04:51:28 +01:00
26e37ca4c7 doubled includes
Change-Id: I70ec796188e2388e1e4d699126f7ae817f5ff86e
2013-03-04 13:58:40 +01:00
591ef78440 fdo#46808, Use singleton util::theMacroExpander new-style constructor
And deprecate the old-style service util::MacroExpander

Change-Id: Ifcefe31a8f8c68c6d44d6ec19616727eb607e1cd
2013-02-11 08:02:13 +02:00
695f4a18e6 fdo#57950: Fix some chained appends in basic
Change-Id: Icac8ec992d993748a063aa95cc6f58c24fa87444
Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/1515
Reviewed-by: Luboš Luňák <l.lunak@suse.cz>
Tested-by: Luboš Luňák <l.lunak@suse.cz>
2013-01-03 17:07:41 +00:00
c40cd8a4f2 Remove all occurences of RTL_* and ::rtl prefix from basic
This is a big commit, so thanks for your time reviewing this :)

Conflicts:
	basic/source/sbx/sbxscan.cxx

Change-Id: Ib9bc710b87475b5695764557321e5dcef25e5933
Signed-off-by: Miklos Vajna <vmiklos@suse.cz>
2013-01-03 10:07:39 +01:00
5837402fb1 fdo#46808, use service constructor for ucb::SimpleFileAccess
I upgraded the service to return XSimpleFileAccess3, since it
already implemented that interface, and it's backwards
compatible.

Change-Id: I40001a46048bd21a23b6a2f58a95376f06fc634b
2012-11-15 08:28:44 +01:00
27239ad230 basic: String -> OUString
Change-Id: I42479b4bade5111e38d69f04c889c166f340d5ba
2012-11-07 02:14:53 -06:00
d92814f462 basic: preliminary cosmetic clean-up
parsing 1000s of line of code is hard enough without having to fight
with weird indentation and irregular formatting.

So as the review progress, in order to follow the code, cosmetic changes
were made...

In order to minimize the task of the reviewers and allow them to
concentrate on what matter, an effort is made to collect these
cosmetic changes into this separate commit.

Change-Id: I3c9b04a0150d0d0a048c2e976fe24de4f2b6b98a
2012-11-03 20:24:28 -05:00