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
when saving to same storage (in place)
we already did that when empty "Standard" was the only library,
but not when there was no library...
Cannot get through that state in through UI, but possible through scripting.
Change-Id: I0f1129e034ac31b3eaf6bd388a03aee5aae5b87e
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>
Now that we have default values for Exception constructor params,
remove lots of boilerplate code.
Change-Id: I620bd641eecfed38e6123873b3b94aaf47922e74
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
This reverts commit fc9080a0c60f263d00eb71111fcda72b3c0a2ebb.
This bug was apparently introduced by
af34774d260a68fc02cd78ba90dd8d4afaf1a2a4, which will be reverted
in the next commit.
Change-Id: I81ccb5bf9cc7e29fbf1e66d02f38268ee1fd1d0c
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
to use cppu::supportsService and other pieces.
Change-Id: I16893b3d31a8055acd214ff23d01e63d38fe0826
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
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
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