[Libreoffice] [REVIEW] fix for fdo#39850 and fdo#39820: update range names and database ranges in formula cells

Eike Rathke ooo at erack.de
Tue Aug 16 07:48:40 PDT 2011


Hi Markus,

On Tuesday, 2011-08-16 16:25:22 +0200, Markus Mohrhard wrote:

> > First thing that caught my eye: using toAsciiUpperCase() (or any other
> > ASCII method) on anything that the user inputs as names is a no-no as it
> > doesn't handle Unicode. Use ScGlobal::pCharClass->upper() instead.
> 
> I think I inherite it from some other places that use range names. So then
> we need to check for all other places too and adjust them accordingly.

Yes please.


> > The change to the ScFormulaCell ctor apparently unconditionally tries to
> > adjust name tokens, this is completely unnecessary in most situations
> > and should be triggered only if the sheets of new and old position
> > differ.
> 
> No it's not that easy. If we have the same sheet and two different
> documents, we need to adjust too. And we can't simply check that the
> ScDocument instances are different because they will always be. Either we
> have a pointer to the original ScDocument instance in the copy document or
> we must always adjust our range names. I used the second approach because I
> didn't like the other approach.

So at least compare document instances and sheets and if both are
identical don't do the adjustment, which I think is the most used
scenario when copying cells. Sounds plausible?

Btw, how well does this all cope with undo/redo?

  Eike

-- 
 PGP/OpenPGP/GnuPG encrypted mail preferred in all private communication.
 Key ID: 0x293C05FD - 997A 4C60 CE41 0149 0DB3  9E96 2F1A D073 293C 05FD
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20110816/09727929/attachment-0001.pgp>


More information about the LibreOffice mailing list