summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDov Grobgeld <dov.grobgeld@gmail.com>2016-01-29 15:20:34 +0200
committerDov Grobgeld <dov.grobgeld@gmail.com>2016-01-29 15:20:34 +0200
commit56e5f121de14af07df9862a823201f3435a38a81 (patch)
tree608f0af1e4d56557bb03ed65f8d9a47d3fad8a59
parent6ad87e038329711983b257d5fb44e20c4eb870d5 (diff)
downloadfribidi-56e5f121de14af07df9862a823201f3435a38a81.tar.gz
Solved max level related bug.
* Overpushing in an even level did not prevent increasing to an odd level.
-rw-r--r--lib/fribidi-bidi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/fribidi-bidi.c b/lib/fribidi-bidi.c
index 7fdcdec..9bf14b6 100644
--- a/lib/fribidi-bidi.c
+++ b/lib/fribidi-bidi.c
@@ -280,7 +280,8 @@ print_bidi_string (
*/
#define PUSH_STATUS \
FRIBIDI_BEGIN_STMT \
- if LIKELY(new_level <= FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL) \
+ if LIKELY(over_pushed == 0 \
+ && new_level <= FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL) \
{ \
if UNLIKELY(level == FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL - 1) \
first_interval = over_pushed; \