From: Eric Pouech eric.pouech@gmail.com
- the tests were failing in Hindi/UTF8 - rounding with (lo+(hi-lo+1)/2) let all the tests pass - rounding with (lo+(hi-lo)/2 + 1) (as it's done when ES_MULTILINE is enabled) let the Hindi/UTF8 fail - it looked weird to have different rounding computation in single vs multi line - so, changing all rounding to (lo+(hi-lo+1)/2) let all the tests pass
Signed-off-by: Eric Pouech eric.pouech@gmail.com --- dlls/user32/tests/edit.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/dlls/user32/tests/edit.c b/dlls/user32/tests/edit.c index 1e5ed8dbfa0..2afbbd5bea4 100644 --- a/dlls/user32/tests/edit.c +++ b/dlls/user32/tests/edit.c @@ -1150,7 +1150,7 @@ static void test_char_from_pos(void) SendMessageA(hwEdit, WM_SETTEXT, 0, (LPARAM) "aa"); lo = LOWORD(SendMessageA(hwEdit, EM_POSFROMCHAR, 0, 0)); hi = LOWORD(SendMessageA(hwEdit, EM_POSFROMCHAR, 1, 0)); - mid = lo + (hi - lo) / 2; + mid = lo + (hi - lo + 1) / 2;
for (i = lo; i < mid; i++) { ret = LOWORD(SendMessageA(hwEdit, EM_CHARFROMPOS, 0, i)); @@ -1168,7 +1168,7 @@ static void test_char_from_pos(void) SendMessageA(hwEdit, WM_SETTEXT, 0, (LPARAM) "aa"); lo = LOWORD(SendMessageA(hwEdit, EM_POSFROMCHAR, 0, 0)); hi = LOWORD(SendMessageA(hwEdit, EM_POSFROMCHAR, 1, 0)); - mid = lo + (hi - lo) / 2; + mid = lo + (hi - lo + 1) / 2;
for (i = lo; i < mid; i++) { ret = LOWORD(SendMessageA(hwEdit, EM_CHARFROMPOS, 0, i)); @@ -1186,7 +1186,7 @@ static void test_char_from_pos(void) SendMessageA(hwEdit, WM_SETTEXT, 0, (LPARAM) "aa"); lo = LOWORD(SendMessageA(hwEdit, EM_POSFROMCHAR, 0, 0)); hi = LOWORD(SendMessageA(hwEdit, EM_POSFROMCHAR, 1, 0)); - mid = lo + (hi - lo) / 2; + mid = lo + (hi - lo + 1) / 2;
for (i = lo; i < mid; i++) { ret = LOWORD(SendMessageA(hwEdit, EM_CHARFROMPOS, 0, i)); @@ -1204,7 +1204,7 @@ static void test_char_from_pos(void) SendMessageA(hwEdit, WM_SETTEXT, 0, (LPARAM) "aa"); lo = LOWORD(SendMessageA(hwEdit, EM_POSFROMCHAR, 0, 0)); hi = LOWORD(SendMessageA(hwEdit, EM_POSFROMCHAR, 1, 0)); - mid = lo + (hi - lo) / 2 +1; + mid = lo + (hi - lo + 1) / 2;
for (i = lo; i < mid; i++) { ret = LOWORD(SendMessageA(hwEdit, EM_CHARFROMPOS, 0, i)); @@ -1223,7 +1223,7 @@ static void test_char_from_pos(void) SendMessageA(hwEdit, WM_SETTEXT, 0, (LPARAM) "aa"); lo = LOWORD(SendMessageA(hwEdit, EM_POSFROMCHAR, 0, 0)); hi = LOWORD(SendMessageA(hwEdit, EM_POSFROMCHAR, 1, 0)); - mid = lo + (hi - lo) / 2 +1; + mid = lo + (hi - lo + 1) / 2;
for (i = lo; i < mid; i++) { ret = LOWORD(SendMessageA(hwEdit, EM_CHARFROMPOS, 0, i)); @@ -1242,7 +1242,7 @@ static void test_char_from_pos(void) SendMessageA(hwEdit, WM_SETTEXT, 0, (LPARAM) "aa"); lo = LOWORD(SendMessageA(hwEdit, EM_POSFROMCHAR, 0, 0)); hi = LOWORD(SendMessageA(hwEdit, EM_POSFROMCHAR, 1, 0)); - mid = lo + (hi - lo) / 2 +1; + mid = lo + (hi - lo + 2) / 2;
for (i = lo; i < mid; i++) { ret = LOWORD(SendMessageA(hwEdit, EM_CHARFROMPOS, 0, i));