On 6/12/2012 1:49 AM, Lei Wang wrote:
Hi,
When I review bug i118863 (
https://issues.apache.org/ooo/show_bug.cgi?id=118863), I find there are
some other related user cases which can get AOO crash or freeze.
Scenario 1
1)New a calc doc.
2)Input 1, 2, 3 in cell A1, A2, A3
3)Set background color for cell A1, A2, A3 as blue, green, red
4)Select A1:A3, and copy
5)Select a whole columnm, such as column E, and paste
AOO need more than 5 minutes to complete this work.
6)undo the paste
AOO also need a lot of time
Scenario 2
1)New a calc doc.
2)Input 1, 2, 3 in cell A1, A2, A3
3)Select A1:A3, and copy
4)Select another whole sheet, such as "sheet2", and paste
AOO will crash
A selected column has no real bounds and can't be filled without limits.
I would suggest adding them to the code and giving users a way to set
them. The default should be one so the paste would fill E1..3 in the
first scenario and A1..3 on sheet2 in the second example. At the time of
the paste a window could open with the option of changing the default
along with a note on sheet size limits.
Preventing paste from copying over it's self and warning the user is a
good idea.
Now Calc supoorts 1,048,576 rows * 1024 columns, which is 1,073,741,824
cells. Pasting with a whole column selected will fill the column. Pasting
with a whole sheet selected will fill the sheet, which always casue AOO
crash.
I have two suggestions
Solution 1
Disable auto repeat to fill cells when pasting with a whole column/sheet
selected. Considering user may not want to repeat to fill the cells when
pasting with a whole column/sheet selected, just paste the source data and
do not repeat to fill.
Excel has a strange behavior. It will not repeat to fill cells, if the cell
numbers in target range is not integer multiple of the source data.
For an example,
Copy A1:A2, Select B1:B10, Ctrl+V -> B1:B10 will be filled
Copy A1:A2, Select B1:B11, Ctrl+V -> Only B1:B2 will be filled
So when pasting with a whole column/sheet selected, sometimes Excel will
repeat to fill the whole column/sheet, sometimes it will not.
Solution 2
Set two thresholds, one is for warning user, one is for the limitation.
If number of cells in target range is bigger than warning threshold, Calc
will popup a warning message to warn user the potential bad performance. If
number of cells in target range is bigger than limitation, Calc will popup
a error message to info user the operation can not be completed.
The purpose of Solution 1/Solution 2 is to avoid making Calc crash for
careless operation(paste with a whole column/sheet selected).
What is your opinion?
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]