[Libreoffice] Annoying cursor behavior on sw tables

Cedric Bosdonnat cbosdonnat at novell.com
Mon Jan 3 01:52:01 PST 2011


Hi Octavio,

On Wed, 2010-12-29 at 20:58 -0800, Octavio Alvarez wrote:
> Now, look at this, this blog post documents the patch: :-O
> 
> http://cedric.bosdonnat.free.fr/wordpress/?p=472

Hum, thanks for poking me on it... I would have skipped the thread
otherwise.

> 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.

> Considering the above blog post from cbos I removed the Invalidate() and
> tested inserting a 1x1 table inside the cell of another 1x1 table and it
> seemed to work and update correctly and open the collapsed cell if I place
> the cursor inside it (by pressing Left or Right, for example). It closes
> back again if I go outside the empty cell.

Did you test with a case similar to the one above?

Regards,

--
Cedric



More information about the LibreOffice mailing list