Module: wine Branch: master Commit: c5dda71cd472c3438e54d82ffe835876c160c8be URL: http://source.winehq.org/git/wine.git/?a=commit;h=c5dda71cd472c3438e54d82ffe...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Mon Mar 23 08:12:29 2015 +0300
user32/static: Allow setting NULL text.
---
dlls/user32/static.c | 15 ++++++--------- dlls/user32/tests/static.c | 16 ++++++++++++++++ 2 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/dlls/user32/static.c b/dlls/user32/static.c index ff5c77c..60fcb79 100644 --- a/dlls/user32/static.c +++ b/dlls/user32/static.c @@ -464,15 +464,12 @@ LRESULT StaticWndProc_common( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam case WM_SETTEXT: if (hasTextStyle( full_style )) { - if (HIWORD(lParam)) - { - if(unicode) - lResult = DefWindowProcW( hwnd, uMsg, wParam, lParam ); - else - lResult = DefWindowProcA( hwnd, uMsg, wParam, lParam ); - STATIC_TryPaintFcn( hwnd, full_style ); - } - } + if (unicode) + lResult = DefWindowProcW( hwnd, uMsg, wParam, lParam ); + else + lResult = DefWindowProcA( hwnd, uMsg, wParam, lParam ); + STATIC_TryPaintFcn( hwnd, full_style ); + } break;
case WM_SETFONT: diff --git a/dlls/user32/tests/static.c b/dlls/user32/tests/static.c index d4aa9b1..841889d 100644 --- a/dlls/user32/tests/static.c +++ b/dlls/user32/tests/static.c @@ -117,6 +117,21 @@ static void test_updates(int style, int flags) DestroyWindow(hStatic); }
+static void test_set_text(void) +{ + HWND hStatic = build_static(SS_SIMPLE); + char buffA[10]; + + GetWindowTextA(hStatic, buffA, sizeof(buffA)); + ok(!strcmp(buffA, "Test"), "got wrong text %s\n", buffA); + + SetWindowTextA(hStatic, NULL); + GetWindowTextA(hStatic, buffA, sizeof(buffA)); + ok(buffA[0] == 0, "got wrong text %s\n", buffA); + + DestroyWindow(hStatic); +} + START_TEST(static) { static const char szClassName[] = "testclass"; @@ -148,6 +163,7 @@ START_TEST(static) test_updates(SS_WHITERECT, TODO_COUNT); test_updates(SS_ETCHEDHORZ, TODO_COUNT); test_updates(SS_ETCHEDVERT, TODO_COUNT); + test_set_text();
DestroyWindow(hMainWnd); }