Date: prev next · Thread: first prev next last
2010 Archives by date, by thread · List index


Hi Octavio,

On 2010-12-23 at 21:07 -0800, Octavio Alvarez wrote:

There is this really annoying behavior:
0. Open Writer.
1. Create a table, say 3 x 3.
2. Place the cursor in a cell.
3. Type some text, like asdfasdfasdfasdf.
4. Using the mouse, place the cursor in the middle of the asdf-word.
5. Using the keyboard go left and right and left and right...
[...]
diff --git a/sw/source/core/crsr/crsrsh.cxx
b/sw/source/core/crsr/crsrsh.cxx
index 5b92560..cbf39f3 100644
--- a/sw/source/core/crsr/crsrsh.cxx
+++ b/sw/source/core/crsr/crsrsh.cxx
@@ -344,7 +344,6 @@ BOOL SwCrsrShell::LeftRight( BOOL bLeft, USHORT nCnt,
USHORT nMode,
          if( IsTableMode() )
              return bLeft ? GoPrevCell() : GoNextCell();

-    SwCallLink aLk( *this );        // Crsr-Moves ueberwachen, evt. Link
callen
          BOOL bRet = FALSE;

          // #i27615# Handle cursor in front of label.

Wow, great start!

Of course, I don't have the slightest idea of what an "SwCallLink" is or
does and what its side effects are.

Yes - that is core of the trouble; as usually, the class is not
documented, so the purpose is not really visible:

http://opengrok.go-oo.org/xref/writer/sw/source/core/crsr/callnk.hxx
http://opengrok.go-oo.org/xref/writer/sw/source/core/crsr/callnk.cxx

From what I see, it does most of its work in a destructor, so this looks
like a kind of 'guard' that restores/updates stuff when the SwCallLink
instance is destructed.

Either way; I'd try to revert the callnk.cxx changes from commit
47472e8e70c1ae3dc55a5b00ef69eaa85f651a7f, it has something to do with
tables, and see if you still see the problem.  If not, then it might
limit the scope of your debugging to that commit only.

Hopefully I am not misleading you :-)

And Pascal - great work translating the comments there, thank you!

Regards,
Kendy


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.