The thing is that Window::Invalidate() gets called if I move or if I typeinside 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
Attachment:
0001-SwCallLink-Removed-unnecesarry-Invalidate-call.patch
Description: Binary data