user32: Ensure at least one character is used in TEXT_WordBreak().

This commit is contained in:
Henri Verbeet 2014-06-13 10:01:22 +02:00 committed by Alexandre Julliard
parent 8d23f13b16
commit f25317a608
2 changed files with 11 additions and 2 deletions

View File

@ -564,6 +564,10 @@ static void test_DrawTextCalcRect(void)
textheight = DrawTextA(hdc, wordbreak_text, -1, &rect, DT_CALCRECT | DT_WORDBREAK);
ok(textheight == heightcheck * 2, "Got unexpected textheight %d, expected %d.\n",
textheight, heightcheck * 2);
SetRect(&rect, 0, 0, 1, 1);
textheight = DrawTextA(hdc, wordbreak_text, -1, &rect, DT_CALCRECT | DT_WORDBREAK | DT_EDITCONTROL);
ok(textheight >= heightcheck * 6, "Got unexpected textheight %d, expected at least %d.\n",
textheight, heightcheck * 6);
SetRect(&rect, 0, 0, 1, 1);
heightcheck = DrawTextW(hdc, wordbreak_textW, -1, &rect, DT_CALCRECT);
@ -571,6 +575,10 @@ static void test_DrawTextCalcRect(void)
textheight = DrawTextW(hdc, wordbreak_textW, -1, &rect, DT_CALCRECT | DT_WORDBREAK);
ok(textheight == heightcheck * 2, "Got unexpected textheight %d, expected %d.\n",
textheight, heightcheck * 2);
SetRect(&rect, 0, 0, 1, 1);
textheight = DrawTextW(hdc, wordbreak_textW, -1, &rect, DT_CALCRECT | DT_WORDBREAK | DT_EDITCONTROL);
ok(textheight >= heightcheck * 6, "Got unexpected textheight %d, expected at least %d.\n",
textheight, heightcheck * 6);
SelectObject(hdc, hOldFont);
ret = DeleteObject(hFont);

View File

@ -413,8 +413,9 @@ static void TEXT_WordBreak (HDC hdc, WCHAR *str, unsigned int max_str,
DT_EDITCONTROL)
{
/* break the word after the last character that fits (there must be
* at least one; none is caught earlier).
*/
* at least one). */
if (!chars_fit)
++chars_fit;
*len_str = chars_fit;
*chars_used = chars_fit;