Age | Commit message (Collapse) | Author | Files | Lines |
|
Change-Id: Id6b787096d15c40903661fa3d309e8131b655752
|
|
Change-Id: If6c1a8a88e9996527d3fcf350a00a72a3866ef4f
|
|
Undo and redo of this are still a bit slow. Not fast enough to be
reliably tested.
Change-Id: I0e0b4c16e55bae60f8d7b1db71347a93eb977de8
|
|
Change-Id: Ia03af65dc1daf13e1228cacc20ce931839305ab8
|
|
Change-Id: I999baaa3acba5513a148542fa28f7ae43dd7ee4f
|
|
Change-Id: I1dd2bf0fc843394502119928c921913131c86f7e
|
|
Change-Id: I98dcdb1e0a72f2c3ad6f33c7b6b7d4a4bcf89096
|
|
Change-Id: I632d617cad76485f7e1f57daa7db4d4cfa775e8b
|
|
Change-Id: I9f200377c1f5bf44eb4ba60c272b02ae3d632a19
|
|
Change-Id: Iee1b3ff637d10c6bd2d2342db518a2fc986327b7
|
|
This speeds up the following scenario:
1) type =B1 in A1. Leave A2 empty.
2) Select A1:A2 and Ctrl-C to copy.
3) Select A3:A50000 (or longer if you so wish), and ctrl-V to paste.
This causes the broadcaster storage array in column B to be heavily
partitioned due to the empty cells interspersed between formula cells
in column A. Without tracking the column position this would cause a
O(n^2) complexity algorithm.
Change-Id: Ic2f23c2c2bea3353c517faa73fe5412c7528bd95
|
|
Change-Id: I3627a83669b6a69c299aef96b8b2ead1352eabe2
|
|
Change-Id: I112a4be56910c07007b28715336fcd82d56bb313
|
|
Change-Id: I6f358f89348a23b3c70f8b7db8a1f01d659393ba
|
|
The use case that would previously make Calc freeze.
1) type in "test" in A1.
2) Select A1:A2 and Ctrl-C to copy to the clipboard.
3) select the whole column B.
4) paste special, select "Add" operation and click OK to paste.
With this change, the above scenario no longer freezes Calc.
Change-Id: I98b1f1e6c25b853aa884e7598c04b1457fab4636
|
|
Change-Id: Iaa7003cabee4630e4fbb8fb1cd114d04b4e9e33c
|
|
This currently only affects document import via orcus, but it'll be
good to put this in place.
Change-Id: I8cc6d54aba6fab1f2774127f92c2a764f7b690fb
|
|
With the removal of existing cells. So, this change is not enough to
make this operation fly.
Change-Id: Ic468375f6d0c28e2cc7d5391fb0565d53ee7fb4e
|
|
Change-Id: Ib9b734ac9800b1ecf005dcd3a66beac6fcfc3a4f
|
|
UndoToDocument and its nested methods are tightly coupled with the CopyTo
counterparts, and they both are used in the same undo / redo code....
Perhaps we can clean this up to reduce redundancy in the future.
Change-Id: Id3aec60914ac3a87acbb53f889896a5850047c59
|
|
This removes O(n^2) slowness from undo and redo of a large array of
cells with empty cells in between.
Change-Id: Id87c8ac8986c97ddf305f849a4752f0f92cc5899
|
|
To reduce the number of function parameters lower.
Change-Id: I816bd7c27070597f5fcdf69bdc7d981279390ca6
|
|
The basic idea is the same as the one I did for CopyFromClip. This prevents
the O(n^2) algorithm from being invoked during undo object creation.
Change-Id: Iac46663b0c25db2f00ffa3ab95a4dcf2857252ce
|
|
This alone makes AdjustRowHeight() fly on large ranges, by eliminating
the silly O(n^2) algorithm.
Change-Id: Id2693aab7fb9b2a5575c6390fcaae5a404549962
|
|
This change reduces the duration of this method from somewhere in the
ballpark of 10 seconds down to a tiny fraction of a second.
Change-Id: I0278dc06a4f134b43cd08bd94693b6dec4893f1f
|
|
Change-Id: Iad2e69e4eb61167ad85581a83b19e3798c5edfd0
|
|
Use block position hint to avoid re-starting search in the cell text
attribute array. This change alone cuts additional 10 seconds off of
the previously mentioned use case, by reducing the duration of
HasEditCells() call from the previous ~10 seconds to a tiny fraction
of a second.
Change-Id: Id9f951cd235a88928c900619b6b66d7b8a057e0c
|
|
This avoids re-starting the search for insertion position in the cell
text attribute array, on every single cell insertion. Instead of always
searching from the first position, it starts the seaarch from the previous
insertion position.
This reduces the paste time from the previous 3.5 seconds to 1.7 seconds
on my machine.
Here is the scenario.
1) Put =A1 in B1, and leave B2 empty.
2) Select B1:B2 and copy it via Ctrl-C.
3) Select B3:B50000, and paste via Ctrl-V.
Because of the empty cells interspersing the destination range, this makes
the data array highly partitioned, which makes the position lookup very
very expensive without the position hint.
Still, I was hoping the duration would become a fraction of a second. 1.7
seconds still seems a bit too slow...
Change-Id: I7742ce7e22935b6d0e082e4569d53dbd2072c4e5
|
|
so that I can reference it in another class.
Change-Id: I035cc1d37ec219c3e3da2e180a0337fb3c6fba8a
|
|
Change-Id: I9f56c7a54405a805cb843321bdab660a3ab22fd6
|
|
This moderately improves the performance of pasting a large array
of formula cells.
Change-Id: I27a59ff348cb715df15db80693cb7d193e67ec2e
|
|
Change-Id: I0b4deec7f4b10c7b14e482f61c667972caa30bc8
|
|
Change-Id: Ida0542583242ebcdd7f1448931e31656aa542457
|
|
It's not used yet, and is currently empty.
Change-Id: Ia377994ae042fc8b19d269adc2f94830422770f1
|
|
Change-Id: I5e108efa0219620696d15a304d2f4e3566d58d57
|
|
Change-Id: I2fdf38b23e74a9f4cad7abd9a943e8817f39474c
|
|
Change-Id: I90e419d19f4565f7f20603358308fd7aeba83190
|
|
Change-Id: I945c7ae834393c760d8a552043c391ff0eb9ce22
|
|
Change-Id: I615c9f9e95a44149c8079754e9aa6497f34c76cf
|
|
This massively speeds up the deletion of a large group of adjacent formula
cells. As an example, on machine, deletion of formula cells over B2:B109101
(109100 cells in total) got reduced from 4.7 seconds to 0.09 seconds).
Change-Id: Ib72da42a6644421601111907cf7c899d828c2996
|
|
This is to avoid repeated calls to set_empty() on the broadcaster array
which causes array reallocation on each call. Instead, we can store the
segments of broadcasters to be deleted later, and call set_empty() on
those segments to reduce the number of calls to set_empty().
The meat of this is not implemented yet, as EndListeningContext is still
empty.
Change-Id: I914bc2881acee3902c4fec0f6c21aaf4d2489df8
|
|
Change-Id: I4c34cd4b352dfafe7f423ab8e85f0d93c0368349
|
|
I screwed this up earlier which made this operation take almost 50 seconds
to complete. It should finish in 0.00001 seconds or less. The test checks
against 1 second, which should be enough of a buffer for slower machines.
Change-Id: I9923033045111c75a0740b6bb30a518fe93e01d2
|
|
Since they are always in sync...
Change-Id: Ic07f57e1804d76ae801c7947d18df5fd0d729632
|
|
This block will be used to merge the text width and script type vectors
that are currently separate. Text widths and script types should really
be stored together.
Change-Id: I6783769cc03180b513319e0a98a0773bd20ba941
|
|
This header hosts custom element types and blocks used in
multi_type_vector.
Change-Id: I32481a2354d8c66eb877b4005a260a79183cd714
|
|
Change-Id: I2c20a52e7f7688359172c9ccbd46b4b012bd4c02
|
|
Change-Id: I65a6018c442769f89f17ee0023510c45373407e7
|
|
AbstractNum when the desired one can not find
Found by: Li Lin Yi
Patch by: Jinlong Wu,wujinlong@gmail.com
Review by: zhangjf
(cherry picked from commit aa53b457faaf0fc50a8b38d17bf219de427a1044)
|
|
that an AbstracNum references to a style, which references to another Num
Found by: xiao ting xiao
Patch by: Jinlong Wu,wujinlong@gmail.com
Review by: zhangjf
(cherry picked from commit d6870e145cc7373a422b414c31380cc1399e64cc)
Conflicts:
writerfilter/source/dmapper/DomainMapper.cxx
writerfilter/source/dmapper/NumberingManager.cxx
Change-Id: I9be0b82d601bf43da31842edb02c4b0d4e50e84f
|