All pastes #1480535 Raw Edit

Possible test for bug 10522

public diff v1 · immutable
#1480535 ·published 2009-07-01 09:26 UTC
rendered paste body
From 8db2ce4baa28399a4078b39263d3b1cfde3ddcd2 Mon Sep 17 00:00:00 2001From: Austin Lund <austin.lund@gmail.com>Date: Wed, 1 Jul 2009 19:24:45 +1000Subject: [PATCH] user32/tests: Test for processing multiple WM_NCPAINT messages--- dlls/user32/tests/win.c |   37 +++++++++++++++++++++++++++++++++++++ 1 files changed, 37 insertions(+), 0 deletions(-)diff --git a/dlls/user32/tests/win.c b/dlls/user32/tests/win.cindex d45eba3..061c3e1 100644--- a/dlls/user32/tests/win.c+++ b/dlls/user32/tests/win.c@@ -4859,6 +4859,42 @@ static void test_Expose(void)     DestroyWindow(mw); } +static LRESULT CALLBACK TestMultiplePaint_WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)+{+    if(msg == WM_NCPAINT)+    {+      LRESULT ret;+      MSG getmsg;+      PostMessage(hwnd,msg,wParam,lParam);+      PostMessage(hwnd,msg,wParam,lParam);+      ret = DefWindowProc(hwnd,msg,wParam,lParam);++      todo_wine ok(PeekMessage(&getmsg, hwnd, WM_NCPAINT, WM_NCPAINT, PM_NOREMOVE)==0,+	 "Not all WM_NCPAINT messages were processed\n");++      return ret;+    }+    return DefWindowProc(hwnd, msg, wParam, lParam);+}++static void test_MultiplePaint(void)+{+    ATOM atom;+    WNDCLASSA cls;+    HWND mw;+    memset(&cls, 0, sizeof(WNDCLASSA));+    cls.lpfnWndProc = TestMultiplePaint_WndProc;+    cls.hbrBackground = GetStockObject(WHITE_BRUSH);+    cls.lpszClassName = "TestMultiplePaint";+    atom = RegisterClassA(&cls);++    mw = CreateWindowA("TestMultiplePaint", "MainWindow", WS_VISIBLE|WS_OVERLAPPEDWINDOW,+                            0, 0, 200, 100, NULL, NULL, 0, NULL);++    UpdateWindow(mw);+    DestroyWindow(mw);+}+ static void test_GetWindowModuleFileName(void) {     HWND hwnd;@@ -5669,6 +5705,7 @@ START_TEST(win)     if (0) test_gettext(); /* crashes on NT4 */     test_GetUpdateRect();     test_Expose();+    test_MultiplePaint();     test_layered_window();      test_SetForegroundWindow(hwndMain);-- 1.6.0.4