branch: Fix bugs

- #6161: Wrong cursor position in RTL text
- #6165: Assertion when clicking on left side of inset in RTL text

If the first character is a separator, we are in RTL text. This character will not be painted on screen and thus we should not count it and skip to the next.

This bug pretty much destroyed cursor placement in RTL text on a row with large gaps.

see r32116.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@32121 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Vincent van Ravesteijn 2009-11-21 14:29:36 +00:00
parent 15f9d4a3dc
commit 0496ff98e8

View File

@ -1230,6 +1230,12 @@ pos_type TextMetrics::getColumnNearX(pit_type const pit,
return 0;
}
// if the first character is a separator, we are in RTL
// text. This character will not be painted on screen
// and thus we should not count it and skip to the next.
if (par.isSeparator(bidi.vis2log(vc)))
++vc;
while (vc < end && tmpx <= x) {
c = bidi.vis2log(vc);
last_tmpx = tmpx;