[Libreoffice] [PATCH] [PUSHED] Re: Annoying cursor behavior on sw tables

Cedric Bosdonnat cedric.bosdonnat.ooo at free.fr
Thu Jan 6 00:33:16 PST 2011


Hello Octavio,

I just checked again the problem I remembered and couldn't reproduce it
again... let's agree that it's OK. We could hack that area again if
someone finds it again later.

I just pushed your patch, many thanks for your help and continue with
those great contributions :)

Regards, 

On Mon, 2011-01-03 at 09:00 -0800, Octavio Alvarez wrote:
> On Mon, 03 Jan 2011 01:52:01 -0800, Cedric Bosdonnat  
> <cbosdonnat at novell.com> wrote:
> >> The thing is that Window::Invalidate() gets called if I move or if I  
> >> type
> >> inside a table cell, which almost any key triggers, which is wrong.
> >> bUpdatedTable gets set to True inside SwCallLink::~SwCallLink() after
> >> some tests. Another option would be to correct those tests, but that
> >> would be far beyond my knowledge.
> >
> > The problem I tried to fix was that the whole row wasn't redrawn in some
> > cases... I can't remember those for sure now but it was something like
> > that:
> >
> > Make sure to have tables like this:
> > +-----------------+-----------------------+
> > |+---------------+|                       |
> > ||               ||                       |
> > |+---------------+|                       |
> > |                 |                       |
> > +-----------------+-----------------------+
> >
> > Place your cursor in the right cell and go to the left: the cursor
> > should go in the blank paragraph after the nested cell and show it. In
> > that kind of cases some part of the border of the right cell wasn't
> > redrawn IIRC.
> >
> > Did you test with a case similar to the one above?
> 
> Well, I did try several different combinations including different column
> sizes and nesting levels. The case you point out was also tested and
> I just retested it now. It works. I would say it performs better.
> 
> In the patch included I also remove all uses and declaration of
> bUpdatedTable because it was only used on the removed if().
> 
> -- 
> Octavio.
> 
> Twitter: @alvarezp2000 -- Identi.ca: @alvarezp

-- 
Cédric Bosdonnat
LibreOffice hacker
http://documentfoundation.org
OOo Eclipse Integration developer
http://cedric.bosdonnat.free.fr



More information about the LibreOffice mailing list