Nikolay Sivov : user32/static: Allow setting NULL text.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Mar 23 10:03:19 CDT 2015


Module: wine
Branch: master
Commit: c5dda71cd472c3438e54d82ffe835876c160c8be
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c5dda71cd472c3438e54d82ffe835876c160c8be

Author: Nikolay Sivov <nsivov at 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);
 }




More information about the wine-cvs mailing list