On 08/10/08 01:16, William S Fulton wrote:
Eike Rathke wrote:
Special care must be taken of places that directly or indirectly call
ScCellFormat::GetString() because those now may have to digest a newline
that they didn't have to before. Same for ScFormulaCell::GetString() and
ScEditCell::GetString(), the latter being the most invasive change of
your patch. This has to be carefully checked and might make it necessary
to introduce another method ScEditCell::GetMultilineString() to be used
in formulas and not touch ScEditCell::GetString(). Places that still
obtain a string via ScEditUtil::GetSpaceDelimitedString() now receive
a string that is different from ScEditCell::GetString(). Check for side
effects. Printing should be tested as well.
I'm aware that the change to ScEditCell::GetString is very central and
it did concern me. However, it is becoming clearer and clearer to me
that putting the fix in here is key to fixing all the other problems and
the more I've read around this area the more things I see fixed by the
patch, precisely because the fix was done in such a core piece of code.
I've found another 4 bug reports that the patch fixes and listed them in
http://www.openoffice.org/issues/show_bug.cgi?id=35913, but it needs
Eike or someone with appropriate privileges to mark the duplicates. For
those that are interested, I've attached some before and after
screenshots in #35913. I've been using the patch in anger over the last
few days and nothing seems broken, but clearly more testers are needed.
It fixes the issues with missing line breaks, but it does create new
issues with unwanted/unhandled breaks. Some problem areas:
- Conversion to unformatted text, especially for clipboard or DDE links
- Other line-based formats (DIF, SYLK)
- Conversion of formulas to text cells (Paste Special, unselect Formulas)
- Text content in the file format (<text:p> versus <text:line-break>)
The only way to be sure is to go through all these GetString calls and
see if the line feed character is handled correctly.
Niklas
(back from vacation)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]