summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2022-03-31 10:18:37 +0000
committerMatthias Clasen <mclasen@redhat.com>2022-03-31 10:18:37 +0000
commitd152b1bae9153476cf057f816ae3ce96b7b538a8 (patch)
treee37b9db9f3d0518351ef89b49df2664a3db9e5e8
parentf9cc99d3f80d919aa766012a2f0068033de8622c (diff)
parentbc00edb9426ddb326b6d6d1cf725cad441b511f2 (diff)
downloadpango-d152b1bae9153476cf057f816ae3ce96b7b538a8.tar.gz
Merge branch 'fix-rtl-cursor-move' into 'main'
Fix move pango_layout_move_cursor_visually Closes #679 See merge request GNOME/pango!608
-rw-r--r--pango/pango-layout.c4
-rw-r--r--tests/test-bidi.c3
2 files changed, 4 insertions, 3 deletions
diff --git a/pango/pango-layout.c b/pango/pango-layout.c
index e45fb69f..eb674b50 100644
--- a/pango/pango-layout.c
+++ b/pango/pango-layout.c
@@ -2184,9 +2184,9 @@ pango_layout_move_cursor_visually (PangoLayout *layout,
else
{
if (old_index == line->start_index + line->length && direction < 0)
- off_start = TRUE;
- if (old_index == line->start_index && direction > 0)
off_end = TRUE;
+ if (old_index == line->start_index && direction > 0)
+ off_start = TRUE;
}
if (off_start || off_end)
diff --git a/tests/test-bidi.c b/tests/test-bidi.c
index eb99abbf..ba578ba8 100644
--- a/tests/test-bidi.c
+++ b/tests/test-bidi.c
@@ -348,6 +348,7 @@ test_move_cursor_para (void)
{ "line 1
line 2
line 3\nline 4\r\nline 5", -1 }, // various separators
{ "some text, some more text,\n\n even more text", 60 },
{ "long word", 40 },
+ { "זוהי השורה הראשונה" "\n" "זוהי השורה השנייה" "\n" "זוהי השורה השלישית" , 200 },
};
PangoLayout *layout;
PangoRectangle pos, old_pos;
@@ -399,7 +400,7 @@ test_move_cursor_para (void)
break;
if (index >= strlen (tests[i].text) - 1)
- break;
+ continue;
pango_layout_get_cursor_pos (layout, index, &pos, NULL);