From: Alanas alanas.00@mail.ru
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57178 --- dlls/comctl32/tests/toolbar.c | 42 +++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-)
diff --git a/dlls/comctl32/tests/toolbar.c b/dlls/comctl32/tests/toolbar.c index 7c886e1f88f..e5cb035bc2f 100644 --- a/dlls/comctl32/tests/toolbar.c +++ b/dlls/comctl32/tests/toolbar.c @@ -179,7 +179,19 @@ static BOOL equal_dc(HDC hdc1, HDC hdc2, int width, int height)
static void *alloced_str;
-static LRESULT parent_wnd_notify(LPARAM lParam) +#define forward_test_idFrom 0xabcd0002 +#define forward_test_code 0xabcd0003 +#define forward_test_return 0xabcd0004 +static _Bool forward_test; +static const NMHDR forward_test_nmhdr = { + /* .hwndFrom should not be accessed */ + .hwndFrom = (HWND)0xabcd0001, + /* .idFrom and .code don't mean anything */ + .idFrom = forward_test_idFrom, + .code = forward_test_code +}; + +static LRESULT parent_wnd_notify(WPARAM wParam, LPARAM lParam) { NMHDR *hdr = (NMHDR *)lParam; NMTBHOTITEM *nmhi; @@ -371,6 +383,18 @@ static LRESULT parent_wnd_notify(LPARAM lParam)
return 0; } + case forward_test_code: + if (forward_test) + { + ok(hdr == &forward_test_nmhdr, "Got unexpected header.\n"); + ok(wParam == forward_test_idFrom, "Got unexpected wParam 0x%Ix.\n", wParam); + } + else + { + ok(FALSE, "Got unexpected WM_NOTIFY.\n"); + } + forward_test = FALSE; + return forward_test_return; } return 0; } @@ -428,7 +452,7 @@ static LRESULT CALLBACK parent_wnd_proc(HWND hWnd, UINT message, WPARAM wParam, switch (message) { case WM_NOTIFY: - return parent_wnd_notify(lParam); + return parent_wnd_notify(wParam, lParam); }
defwndproc_counter++; @@ -2833,6 +2857,19 @@ static void test_BTNS_SEP(void) DestroyWindow(hwnd); }
+static void test_WM_NOTIFY(void) +{ + HWND toolbar = NULL; + LRESULT ret; + rebuild_toolbar(&toolbar); + forward_test = TRUE; + ret = SendMessageA(toolbar, WM_NOTIFY, 0, (LPARAM)&forward_test_nmhdr); + ok(ret == forward_test_return, "SendMessageA returned 0x%Ix\n", ret); + ok(!forward_test, "toolbar didn't forward WM_NOTIFY to parent\n"); + forward_test = FALSE; + DestroyWindow(toolbar); +} + START_TEST(toolbar) { ULONG_PTR ctx_cookie; @@ -2884,6 +2921,7 @@ START_TEST(toolbar) test_drawtext_flags(); test_imagelist(); test_BTNS_SEP(); + todo_wine test_WM_NOTIFY();
if (!load_v6_module(&ctx_cookie, &ctx)) return;