To comment on the following update, log in, then open the issue: http://www.openoffice.org/issues/show_bug.cgi?id=72394
------- Additional comments from [EMAIL PROTECTED] Wed Nov 21 13:32:11 +0000 2007 ------- fme->lijian: Thank you for your patch. Please find my comments below. [...] I wonder what pSavePos is used for and where its value gets from in SwCursor::IsSelOvr. [...] pSavePos contains the last known 'save' position the cursor was set to. Usually it works like this: before trying to move the cursor, an SwCrsrSaveState object is created with the current cursor. Since ths current cursor is assumed to be on a valid position, the SwCrsrSaveState object stored the last known valid cursor position. Then the cursor is moved to a new position. After this, some checks are executed, if the cursor is now 'valid', e.g., in IsSelOvr(). If the cursor is found to be on an invalid position and the cursor either should not be corrected (!SELOVR_CHANGEPOS) or could not be corrected (like in our case), the SwCrsrSaveState object can be used to 'undo' the cursor move that resulted in this 'invalid' cursor position. [...] In my patch, I just changed the value of bGoNxt. Then all seems to work fine. I just take this as a test. Actually, I think it should be like this : if bGoNxt == 1 and pFrm is hidden, we could see if paragraph pFrm represents is the last paragraph. If so, we need to move forward. It's similar to bGoNxt == 0. What's your opinion ? [...] Yes, I fully agree with you. bGoNxt == true indicates, that the cursor has been moved forward, i.e., the last 'save' position is < than the position after the cursor move. In this case the code tries to search forward for a suitable cursor position. If bGoNxt == false, the cursor has been moved backward, i.e., the last 'save' position > thant the current position. In this case the code searches backward for a suitable cursor position. We should keep this logic, and maybe should check, if after the while loop pFrm == 0. This means that for bGoNxt == true (resp. false), we reached the end (resp. start) of the text without finding a suitable paragraph. In this case we should restart the search with bGoNxt = !bGoNxt. Hope this helps. --------------------------------------------------------------------- Please do not reply to this automatically generated notification from Issue Tracker. Please log onto the website and enter your comments. http://qa.openoffice.org/issue_handling/project_issues.html#notification --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
