Hi Daniel, On Thursday, 2012-07-12 03:46:02 -0500, Daniel Bankston wrote:
My changes in the attached diff prevent this from happening, which gives us back our performance. Is this approach ok?
I first had the gut feeling that due to the situation commented there
// Setting the new token actually forces an empty result at this top // left cell, so have that recalculated.
that would leave us with a state of the top left cell of the matrix being undefined or its value not really determined. However, Markus said you had tested that and also a specific case I asked him to check (enter a formula after the document was loaded that refers the top left cell) produced the correct result. Which actually made me wonder ;-) knowing the code of ScFormulaResutl::SetToken() in this case of a matrix. So, after import, is a complete matrix already set as a result when SetMatColsRows() is called? And if so, how? Or are only individual results set at the cells? In which case setting the formula cell's matrix dimension indeed should overwrite the result of the top left cell until that is interpreted. I guess to get a complete grasp of this I'd have to step through such case, but I don't have a build of that branch now. Eike -- LibreOffice Calc developer. Number formatter stricken i18n transpositionizer. GnuPG key 0x293C05FD : 997A 4C60 CE41 0149 0DB3 9E96 2F1A D073 293C 05FD
Attachment:
pgpJGoI5EX1JN.pgp
Description: PGP signature