SFX_IMPL_INTERFACE previously looked like a function; where in fact it is
several methods defined at once, and only the last one has a body.
This is extremely confusing and hard to read; let's kill that nonsense.
Change-Id: Ia4ae22eb58b1260c9c827c894f5345693bad49e7
Add HAVE_FEATURE_DBCONNECTIVITY to <config_features.h> instead of
using (or not, more likely) -DDISABLE_DBCONNECTIVITY.
The plan is still that database connectivity would be disabled always
for the non-desktop platforms, and otherwise disabling it would be a
configure option.
But, still lots to do; the TiledLibreOffice iOS test app gets tons of
undefineds when linking if I actually try to disable the database
connectivity.
Change-Id: If1e4b55faa1514cd55dec5fc5487a30d689739ac
The 2 for PrepareClose came in with 38db42605a5b72efd55a43eff81fbc517fe0424b
"#89423#: added SID_CLOSEDOC, SID_BACKTOWEBTOP, SID_LOGOUT in PluginMenu" and
was checked with if( SfxApplication::IsPlugin() == sal_False || bUI == 2 ) in
sfx2/source/doc/objxtor.cxx and then that was removed with
367568c891771d20bb8f8b3b579857f51c0e9016 "#132394#: remove superfluous code"
Change-Id: Ib273c88b4365ea6b261c7e52bbe1876aa796dc17
Since commit f59e350d1733125055f1144f8b3b1b0a46f6d1ca it was impossible
to define a numeric field with a precision of less than 2 decimals, even
if all values were integers. It was also impossible to define a field
width larger than needed for any values in that column. Furthermore, the
integer part was shortened if the overall column's values resulted in
more precision than defined, but the overall length did not reach the
predefined length.
This does not change the behavior of the original intention of
f59e350d1733125055f1144f8b3b1b0a46f6d1ca to give the precision of number
formats precedence over precision defined in the column header, which is
debatable though because conflicts may silently change the field
definition.
Change-Id: I234c4bceaa1a6aadbd259cb8d9b6cb6f16bf91c2
...mostly done with a rewriting Clang plugin, with just some manual tweaking
necessary to fix poor macro usage.
Change-Id: Ie656f9d653fc716f72ac175925272696d509038f
I could not reproduce the crash of that bug (probably having more memory
available), but the backtrace had nTabSpan = -2 implicitly casted to
size_t leading to allocation of a huge amount of memory with
vector::reserve(), which ScRange::Justify() exactly prevents.
Change-Id: Idb79e1be62649922ba793cab01e00011479fade9
Also with this commit, the signature of SvtListener::Notify() changes,
by dropping the first argument which nobody uses. This change was necessary
in order to call it directly without needing to pass any broadcaster instance.
Change-Id: I6a1e97f0fb1e070d1d8f7db614690b04c9e8024e
This will allow formula cells to restore deleted references when they get
recalculated. With this change, SetDirty() that previosly took no argument
has been renamed to SetAllFormulasDirty(), and it now takes one argument that
stores context information.
Change-Id: If0de5dc1737a2722b6d61a87644b10a4f921edc5
f70d03436b7b501e0ed1d745935a204b9b97b855 "coverity#1158232 have a stab at
silencing warning with function markup" claimed that NamedDBs::insert always
takes ownerhip of its argument, but boost::ptr_set::insert(std::auto_ptr<U> x)
simply calls insert(x.release()), so only takes ownership when it returns true.
ScDBDocFunc::AddDBRange (sc/source/ui/docshell/dbdocfun.cxx) relies on this
behavior, deleting the argument when insert failed.
ScDBDocFunc::RenameDBRange (sc/source/ui/docshell/dbdocfun.cxx) relied on this
behavior, deleting the argument when insert failed, until
f55cc330dec0dec60c755e2ce28a840c7fca1956 "Fixed the fallout of the changes in
ScDBCollection" removed the delete (presumably in error?). I put it back in
now.
All other uses of NamedDBs::insert ignored the return value (witnessed with
SAL_WARN_UNUSED_RESULT). Some are insert-if-not-found cases, where I added
asserts now (Sc10Import::LoadDataBaseCollection,
sc/source/filter/starcalc/scflt.cxx, is not entirely clear to me, so I added a
TODO), while others would have potentially leaked the argument, in which cases I
fixed the code.
Change-Id: Iad40fbeb625c8ce6b0a61cbf16298d71cdc7de80
And ditto with its column variant. The former created a heap array of
1 million elements (=MAXROWCOUNT). There is no need for this memory
wastage.
Change-Id: I07845966c51cdcbdc676cd0d249f6420a19b9c5e
To ensure that string comparison with those from the external ref cache
works correctly in functions such as VLOOKUP.
Change-Id: Ib5a466cb6c4b26439abe61b0c17406fc8139f6c0