Module: wine Branch: master Commit: a415974b2efd97e41dab7ef61d4385c754fcc8b3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=a415974b2efd97e41dab7ef61d...
Author: Tim Hentenaar tim@hentenaar.com Date: Sat Apr 23 07:36:12 2011 -0400
user32: GetTabbedTextExtent() returns non-zero value when nCount == 0.
---
dlls/user32/tests/text.c | 3 +++ dlls/user32/text.c | 2 ++ 2 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/dlls/user32/tests/text.c b/dlls/user32/tests/text.c index 88ea6b5..b45a312 100644 --- a/dlls/user32/tests/text.c +++ b/dlls/user32/tests/text.c @@ -617,6 +617,9 @@ static void test_TabbedText(void) ret = GetTextMetricsA( hdc, &tm); ok( ret, "GetTextMetrics error %u\n", GetLastError());
+ extent = GetTabbedTextExtentA( hdc, "x", 0, 1, tabs); + ok( extent == 0, "GetTabbedTextExtentA returned non-zero on nCount == 0\n"); + extent = GetTabbedTextExtentA( hdc, "x", 1, 1, tabs); cx = LOWORD( extent); cy = HIWORD( extent); diff --git a/dlls/user32/text.c b/dlls/user32/text.c index e34877f..c9ded68 100644 --- a/dlls/user32/text.c +++ b/dlls/user32/text.c @@ -1281,6 +1281,8 @@ static LONG TEXT_TabbedTextOut( HDC hdc, INT x, INT y, LPCWSTR lpstr, int i, j; int start = x;
+ if (!lpstr || count == 0) return 0; + if (!lpTabPos) cTabStops=0;