user32: Restore the len == 0 check which got lost in a previous patch.

This commit is contained in:
Dmitry Timoshkov 2006-11-22 15:18:07 +08:00 committed by Alexandre Julliard
parent 8519a6c49e
commit 53cf91bced
1 changed files with 7 additions and 2 deletions

View File

@ -682,14 +682,18 @@ static void STATIC_PaintTextfn( HWND hwnd, HDC hdc, DWORD style )
}
buf_size = 256;
if (!(text = HeapAlloc( GetProcessHeap(), 0, buf_size * sizeof(WCHAR) ))) return;
if (!(text = HeapAlloc( GetProcessHeap(), 0, buf_size * sizeof(WCHAR) )))
goto no_TextOut;
while ((len = InternalGetWindowText( hwnd, text, buf_size )) == buf_size - 1)
{
buf_size *= 2;
if (!(text = HeapReAlloc( GetProcessHeap(), 0, text, buf_size * sizeof(WCHAR) ))) return;
if (!(text = HeapReAlloc( GetProcessHeap(), 0, text, buf_size * sizeof(WCHAR) )))
goto no_TextOut;
}
if (!len) goto no_TextOut;
if (((style & SS_TYPEMASK) == SS_SIMPLE) && (style & SS_NOPREFIX))
{
/* Windows uses the faster ExtTextOut() to draw the text and
@ -703,6 +707,7 @@ static void STATIC_PaintTextfn( HWND hwnd, HDC hdc, DWORD style )
DrawTextW( hdc, text, -1, &rc, wFormat );
}
no_TextOut:
HeapFree( GetProcessHeap(), 0, text );
if (hFont)