Evas text props: Fixed bug with no-harfbuzz bidi.

SVN revision: 82814
This commit is contained in:
Tom Hacohen 2013-01-15 14:49:31 +00:00
parent d4da99698e
commit c7dc78c98b
3 changed files with 10 additions and 6 deletions

View File

@ -2,6 +2,7 @@
* Evas textblock: Fixed issue and simplified cursor_geometry_get. * Evas textblock: Fixed issue and simplified cursor_geometry_get.
* Evas text: Fixed issue with horiz advance. * Evas text: Fixed issue with horiz advance.
* Evas text utils: Fixed issue with no-harfbuzz bidi.
2013-01-14 Daniel Willmann 2013-01-14 Daniel Willmann

1
NEWS
View File

@ -115,3 +115,4 @@ Fixes:
* Fix SIGFPE in evas map update if image is 0. * Fix SIGFPE in evas map update if image is 0.
* Evas textblock: Fixed issue and simplified cursor_geometry_get. * Evas textblock: Fixed issue and simplified cursor_geometry_get.
* Evas text: Fixed issue with horiz advance. * Evas text: Fixed issue with horiz advance.
* Evas text utils: Fixed issue with no-harfbuzz bidi.

View File

@ -234,8 +234,14 @@ evas_common_text_props_index_find(const Evas_Text_Props *props, int _cutoff)
return mid; return mid;
#else #else
return _cutoff; if (props->bidi_dir == EVAS_BIDI_DIRECTION_RTL)
(void) props; {
return props->len - _cutoff - 1;
}
else
{
return _cutoff;
}
#endif #endif
} }
@ -249,7 +255,6 @@ evas_common_text_props_split(Evas_Text_Props *base,
size_t cutoff; size_t cutoff;
/* Translate text cutoff pos to string object cutoff point */ /* Translate text cutoff pos to string object cutoff point */
#ifdef OT_SUPPORT
_cutoff = evas_common_text_props_index_find(base, _cutoff); _cutoff = evas_common_text_props_index_find(base, _cutoff);
if (_cutoff >= 0) if (_cutoff >= 0)
@ -261,9 +266,6 @@ evas_common_text_props_split(Evas_Text_Props *base,
ERR("Couldn't find the cutoff position. Is it inside a cluster?"); ERR("Couldn't find the cutoff position. Is it inside a cluster?");
return EINA_FALSE; return EINA_FALSE;
} }
#else
cutoff = (size_t) _cutoff;
#endif
evas_common_text_props_content_copy_and_ref(ext, base); evas_common_text_props_content_copy_and_ref(ext, base);
if (base->bidi_dir == EVAS_BIDI_DIRECTION_RTL) if (base->bidi_dir == EVAS_BIDI_DIRECTION_RTL)