Age | Commit message (Collapse) | Author |
|
Change-Id: Id7e01ae7f087c6f1a981173aa840b169ec7d8799
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130351
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: I7a2e2bb29aa776f2b83af00329182ca4d7edae49
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130350
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: I7099540ce2939a45d50193e74d08be19995bb23c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130286
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: I464d2ce3e79a9e79d034e4cce86d63355e0b5a81
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130290
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: Iaa240aeae8bacbff6bccd9bf0721a02414b6f47d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130288
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Change-Id: I7d5c0ba027e94d3f085eaacf158a31c525fa7eb6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130277
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I515c2ba2b1a258dd897f28b12a08f1d1f48106d6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130274
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
The LookupHashCode() way still loops over an array while calling
virtual functions for a type that is actually known. Overriding
instead a whole new Lookup() function that does the loop
avoids the virtual calls, allowing compiler optimizations such
as inlining, or class-specific optimizations like the hash code.
So this still improves performance with ScPatternAttr a bit,
for tdf#135215 it saves about 40% of load time, but this is
scraping the bottom of the barrel, as this is still a linear search
(the IsSortable() approach, if it worked, would be still 3x faster).
Change-Id: I8fe5f70cabb77e2f6619d169beee8a3b4da46213
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130228
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
The function expects elements starting from smallest to the biggest,
and finds the first one that is not smaller than the one searched for.
That means that all items remaining will not be smaller, and thus
end of search is when items compare larger. Comparing remaining
items as smaller means searching until the end.
Change-Id: If5cf5c18951abf987ddbbf201f49cfb195e36d32
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130220
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
I made a mistake in 98d51bf8ce13bdac2d71f50f58d6d0ddb by using
SfxItemSet::Count(), which returns a number of existing items.
But EqualPatternSets() compares all items, even empty ones,
so I should have used TotalCount() (which is actually hardcoded
as a number in the code). Without this, the hash usually didn't
include all items, leading to matching hashes even though
the items clearly didn't match.
Change-Id: I1e25752d3ddca2b63c3c295a9a425965531cd4d3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130210
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
This gets called often especially with larger spreadsheets.
Change-Id: I6acf23d0942d1745a52963c9b5b08453e1ec28bc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130207
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Many calc algorithms perform better if they process cells ordered
by tab,col,row. In the case of tdf#119083 it's
ScDocument::TrackFormulas().
Change-Id: I1eedefc0130f5cf95feb84a4160b7599d3a09fd6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130205
Tested-by: Luboš Luňák <l.lunak@collabora.com>
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Use ComputeAreaPoints() rather than repeated ComputeSlotOffset().
Change-Id: If7869fe4c37a1e844ec9e6513a7c1799290c077f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130204
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Change-Id: I71efd7ef83618d4f556dd6a0baa8ca6ffec17392
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130194
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Change-Id: I4e80bba8b866f9915a6600ce67774380e619c2e7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130188
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
... as omitted argument with ocMissing token.
Change-Id: If6467c624223171904b4fa642b04581350c17973
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130179
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
The original UItest is just wrong. The report talks about
Select all - Cut - Undo and no cut and not undo is done there
Change-Id: I53b925f86aa01fd4f161ec3180b2d7471baff09f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130172
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
It is intended to process the drag & drop functionality
in Calc.
Change-Id: I501cd94e309dabf8472e5c5aa9661e7273cd0dae
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118879
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117733
Tested-by: Jenkins
Reviewed-by: Henry Castro <hcastro@collabora.com>
|
|
Change-Id: Ifb2c9ea7b440890224c7e837422c8a1358f8c5b3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130143
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
commit ef29f8c57dbb73ee3bd2e09ea557b86bf3eacfa6
lok: sc: update ScModelObj::postMouseEvent
introduced Drag&drop for online. One missing thing was
getting the focus for gridwin before mouse event processing
like it is done in LOKPostAsyncEvent
Change-Id: I4063340985f7dcc91cf5382631615119e28ea3f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123391
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129471
Tested-by: Jenkins
Reviewed-by: Henry Castro <hcastro@collabora.com>
|
|
Change-Id: I1e134fd99dffc4962bacbba97456365ab9347e37
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123242
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129467
Tested-by: Jenkins
Reviewed-by: Henry Castro <hcastro@collabora.com>
|
|
and other Drag and Drop related functions
Change-Id: Idbaec91c0ed396da9888c8ed562d2eff35686cca
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123209
Tested-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129466
Tested-by: Jenkins
Reviewed-by: Henry Castro <hcastro@collabora.com>
|
|
The ScDragData is a global use for private drag & drop
in a desktop case, it will be used by tiled rendering
case to pass its own local ScDragData per user.
Change-Id: I0bca8e6d5c0eab82b69374a67425e2a8d746ef4e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118990
Tested-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129465
Tested-by: Jenkins
Reviewed-by: Henry Castro <hcastro@collabora.com>
|
|
SheetDataBuffer::finalizeArrayFormula calls
ScCellRangeObj::setArrayTokens
ScDocFunc::EnterMatrix
ScDocument::InsertMatrixFormula
and InsertMatrixFormula calls the variant of ScColumn::SetFormulaCell
which doesn't take a sc::ColumnBlockPosition& param when SetFormulaCell
adds a cell to the column so any iterators belonging to ScDocumentImport
are invalid.
Change-Id: Ic2814ecbeafdeb99632d2a255ed6c1dedf7376b1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129991
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
It appears that PIVOT_DATA_FIELD is just a custom special value
that's outside of the valid column range, but otherwise the value
doesn't matter, and -1 is generic.
Change-Id: Ieac1d4e3391f76350dc420e6b2ae9ed9f35d35f7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130124
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
This reverts commit c82634d5a222120b3a95cff1b950a7f7a1f5ded1
Change-Id: I627b46f710da723ad58295d4fa0821df17eebd9f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130108
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
|
|
Change-Id: If6326bf414e1da43d846f952d88ceae37b2b9cd2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130109
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
Change-Id: I5612e765b3484b0515f4a16030ee19133ae3126a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130076
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
The document contains 'Sheet1', which Calc first tried to parse
as a normal address, since it matches the format of e.g. 'XFD1'.
The code parsed column into SCCOL (sal_Int16), which with 16k
column limit overflowed and the code failed to detect the problem.
Change-Id: I470db1b670dbff7bdc8013bede0a0b011e88c372
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130073
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
null-bytes"
This reverts commit 4b0c17609c2cca326bbcc9e8488a327a4a9ea952.
Reason for revert: it's possible now to revert to previous simpler code
after commit 4e4a01302a140d75a49055821b3197a2eda81db5
Related: tdf#147421: optimize O(U)String's replaceAll*
Change-Id: Iaefac917afbc9c587e75c38457dd9ea87e4f5861
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130017
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
|
|
Change-Id: I28c8a4614edf577e1f8f101ba55327fd9f358973
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130068
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
The code in XclExpRow::Finalize() apparently creates an array
of indexes for blank cells, and then uses it
to efficiently write many blank cells (or whatever it's all exactly).
But especially with huge sheets all this processing is basically
repeatedly checking for all the blank cells at the end of the rows.
Optimize this by calculating where the all the remaining blank cells
start and process those more efficiently or sometimes even just
plain ignore them. Possibly this could be optimized even more if
I understood the code better, but this seems to be good enough.
I've also changed some of the loops to use indexing instead of
iterators, as libstdc++ debug iterators are horribly slow here
(which possibly may even make a difference for Jenkins builds).
Change-Id: Iafe36ccd2795a85b10b98cf84c041a7427aabc29
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130046
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Change-Id: I70a039af151b7dd398d2665e6fc9bb825f719e39
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130006
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Though unlikely and apparently not happening, the changed ScHint
may theoretically notify for a block of rows, not just one
address. Do not join out-of-band rows to the dirty header columns.
Change-Id: I524bcbedf063fe6b5ff5b99bc984fcb9dc02b6ab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130054
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
Saving with opening password, but without editing password
resulted read-only documents (only on their original path: saving,
i.e. copying the file in a different path was a workaround for
the lost permission).
Regression from commit 1b53c1dfc76f08ca7df40a0673aa50eca700d072
(tdf#144374 DOCX: export the password for editing).
Change-Id: I2759dc876ee7668d00eee0aa81490c9d1e0c272b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129593
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
In 5e402bac39dc4245844efbde442bdb3bd993a157 I accidentally converted
a couple of MAXCOLCOUNT to GetMaxRowCount().
Change-Id: I2f22e614fb79b8e651308bd4dbddcd7e04651903
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130057
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Change-Id: I56c385e0458e2096e0c1e4fd0c85d47c40fe207b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129987
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
The range is used just for filtering out, and since this is about
references to other documents, I wasn't sure which document to use
as the limits, so I did a copy that of the functions that returns
all.
Change-Id: I9711534004796496558848adef03d38ddb115441
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129988
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Change-Id: I11f3477c0f966d403e076fc73b7e5507ad6597f7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118877
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117779
Tested-by: Jenkins
Reviewed-by: Henry Castro <hcastro@collabora.com>
|
|
(Somewhat oddly, there is no OStringBuffer::copy counterpart.)
This required some modification to StringView::VisitCXXConstructExpr to avoid
> In file included from odk/qa/checkapi/checkapi.cxx:29:
> In file included from workdir/CustomTarget/odk/allheaders/allheaders.hxx:351:
> In file included from instdir/sdk/include/rtl/math.hxx:31:
> instdir/sdk/include/rtl/ustrbuf.hxx:1687:16: error: rather than copy, pass with a view using subView() [loplugin:stringview]
> return copy( beginIndex, getLength() - beginIndex );
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
while building CppunitTest_odk_checkapi as external C++03 code, where the
returned value is wrapped in a CXXConstructExpr. And testing for that case
required a new CompilerTest_compilerplugins_clang-c++03 that uses gb_CXX03FLAGS
and needs to not set LIBO_INTERNAL_ONLY (via gb_CompilerTest_set_external_code),
as compiling as C++03 would otherwise generate lots of errors like unknown
char16_t at include/sal/types.h:118. (There was a choice whether to name the
new test "-c++03" or "-external", but the issue it tests is caused more by the
code being compiled with C++03 than by this being external code, see above.)
Change-Id: I873a9c5a70d3ea949cf13a169d46920b71282712
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130036
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Otherwise e.g. going to the last column allocates all columns.
Change-Id: I9cbdb18545bb200379616484c46c85ca31833563
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129995
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
The problem was that this was returning false for the protected
attribute just because a column was not allocated, but the default
attributes had the flag set (so if the column had been allocated
first it would have the flag set too).
Change-Id: I2ef1ef40cafb7e8fc6f7b561c0a376af63f2ad26
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129984
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
These few look like useful assertions and they should be cheap,
so keep only the extensive checks inside the #if block.
Change-Id: I9e6851d25d8b4d637041c1efe1d9712d410262e0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130003
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Change-Id: I9a665df74882eb4edac9a1787afe83af5e5e144e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129990
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
It's already done by executeColumnAction() and currently existing
actions do not need unallocated columns. This prevents allocating
all columns e.g. when selecting a full row just because
ScDocument::GetRangeScriptType() gets called.
Change-Id: I517ce14a756be83a385968549b32d430274b8002
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129993
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Change-Id: I9347f1d638473f9bcca9b96640a71ae1ef09e415
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129997
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Regression from
commit 8406139062d9ffe1daed32aefe4e261c6c55d63e
CommitDate: Mon Dec 6 15:45:35 2021 +0100
process broadcasts for adjacent cells together (tdf#119083)
that changed single cell broadcasts to blocks of rows broadcasts and
- if (rAreaRange.Contains( rAddress))
+ if (rAreaRange.Contains( rRange))
but a block of rows may be distributed over several broadcast
areas so rRange is not contained within one rAreaRange and thus
was not broadcasted. Testing for intersection instead fixes this.
Change-Id: I10700296ebc897e4b7b7752e0e6bcb480085b487
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130027
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
Change-Id: I3e40d775d95083d96776f3bcd36f92c11110a8a9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129986
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
A newly allocated column would contain no formula anyway.
Change-Id: I7a9f65e5048c9fb6793caafdd4c60892659a1a57
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129998
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Change-Id: I3e1e3d214b465f071e57b2e9d349c38aa15657af
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126639
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
|