diff --git a/rostests/winetests/comctl32/CMakeLists.txt b/rostests/winetests/comctl32/CMakeLists.txt index 2326087811b..f0246ac669d 100644 --- a/rostests/winetests/comctl32/CMakeLists.txt +++ b/rostests/winetests/comctl32/CMakeLists.txt @@ -29,18 +29,13 @@ list(APPEND SOURCE updown.c testlist.c) -add_executable(comctl32_winetest - ${SOURCE} - rsrc.rc) - -target_link_libraries(comctl32_winetest wine) +add_executable(comctl32_winetest ${SOURCE} rsrc.rc) +set_module_type(comctl32_winetest win32cui) +add_importlibs(comctl32_winetest comctl32 ole32 user32 gdi32 advapi32 msvcrt kernel32) +add_cd_file(TARGET comctl32_winetest DESTINATION reactos/bin FOR all) if(NOT MSVC) # FIXME: http://www.cmake.org/Bug/view.php?id=12998 #add_target_compile_flags(comctl32_winetest "-Wno-format") set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "-Wno-format") endif() - -set_module_type(comctl32_winetest win32cui) -add_importlibs(comctl32_winetest comctl32 ole32 user32 gdi32 advapi32 msvcrt kernel32 ntdll) -add_cd_file(TARGET comctl32_winetest DESTINATION reactos/bin FOR all) diff --git a/rostests/winetests/comctl32/comboex.c b/rostests/winetests/comctl32/comboex.c index ed331a58f88..0f78bbec309 100644 --- a/rostests/winetests/comctl32/comboex.c +++ b/rostests/winetests/comctl32/comboex.c @@ -280,8 +280,6 @@ static void test_WM_LBUTTONDOWN(void) GetLastError()); hList = cbInfo.hwndList; - trace("hWnd=%p, hComboEx=%p, hCombo=%p, hList=%p, hEdit=%p\n", - hComboExParentWnd, hComboEx, hCombo, hList, hEdit); ok(GetFocus() == hComboExParentWnd, "Focus not on Main Window, instead on %p\n", GetFocus()); diff --git a/rostests/winetests/comctl32/datetime.c b/rostests/winetests/comctl32/datetime.c index dc75f9c93d8..1a21f84cc03 100644 --- a/rostests/winetests/comctl32/datetime.c +++ b/rostests/winetests/comctl32/datetime.c @@ -145,8 +145,6 @@ static LRESULT WINAPI datetime_subclass_proc(HWND hwnd, UINT message, WPARAM wPa LRESULT ret; struct message msg; - trace("datetime: %p, %04x, %08lx, %08lx\n", hwnd, message, wParam, lParam); - msg.message = message; msg.flags = sent|wparam|lparam; if (defwndproc_counter) msg.flags |= defwinproc; diff --git a/rostests/winetests/comctl32/header.c b/rostests/winetests/comctl32/header.c index ca34e41174e..1502970ad9b 100644 --- a/rostests/winetests/comctl32/header.c +++ b/rostests/winetests/comctl32/header.c @@ -412,7 +412,6 @@ static LRESULT WINAPI header_subclass_proc(HWND hwnd, UINT message, WPARAM wPara LRESULT ret; struct message msg; - trace("header: %p, %04x, %08lx, %08lx\n", hwnd, message, wParam, lParam); msg.message = message; msg.flags = sent|wparam|lparam; if (defwndproc_counter) msg.flags |= defwinproc; @@ -444,8 +443,6 @@ static LRESULT WINAPI parent_wnd_proc(HWND hwnd, UINT message, WPARAM wParam, LP message != WM_DEVICECHANGE) { - trace("parent: %p, %04x, %08lx, %08lx\n", hwnd, message, wParam, lParam); - msg.message = message; msg.flags = sent|wparam|lparam; if (defwndproc_counter) msg.flags |= defwinproc; diff --git a/rostests/winetests/comctl32/imagelist.c b/rostests/winetests/comctl32/imagelist.c index 7559806a0d1..53b4fac7f17 100644 --- a/rostests/winetests/comctl32/imagelist.c +++ b/rostests/winetests/comctl32/imagelist.c @@ -30,7 +30,6 @@ //#include #include -#include #include #include @@ -655,26 +654,26 @@ static struct my_IStream *impl_from_IStream(IStream *iface) static HRESULT STDMETHODCALLTYPE Test_Stream_QueryInterface(IStream *iface, REFIID riid, void **ppvObject) { - assert(0); + ok(0, "unexpected call\n"); return E_NOTIMPL; } static ULONG STDMETHODCALLTYPE Test_Stream_AddRef(IStream *iface) { - assert(0); + ok(0, "unexpected call\n"); return 2; } static ULONG STDMETHODCALLTYPE Test_Stream_Release(IStream *iface) { - assert(0); + ok(0, "unexpected call\n"); return 1; } static HRESULT STDMETHODCALLTYPE Test_Stream_Read(IStream *iface, void *pv, ULONG cb, ULONG *pcbRead) { - assert(0); + ok(0, "unexpected call\n"); return E_NOTIMPL; } @@ -707,13 +706,13 @@ static HRESULT STDMETHODCALLTYPE Test_Stream_Write(IStream *iface, const void *p static HRESULT STDMETHODCALLTYPE Test_Stream_Seek(IStream *iface, LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition) { - assert(0); + ok(0, "unexpected call\n"); return E_NOTIMPL; } static HRESULT STDMETHODCALLTYPE Test_Stream_SetSize(IStream *iface, ULARGE_INTEGER libNewSize) { - assert(0); + ok(0, "unexpected call\n"); return E_NOTIMPL; } @@ -721,46 +720,46 @@ static HRESULT STDMETHODCALLTYPE Test_Stream_CopyTo(IStream *iface, IStream *pst ULARGE_INTEGER cb, ULARGE_INTEGER *pcbRead, ULARGE_INTEGER *pcbWritten) { - assert(0); + ok(0, "unexpected call\n"); return E_NOTIMPL; } static HRESULT STDMETHODCALLTYPE Test_Stream_Commit(IStream *iface, DWORD grfCommitFlags) { - assert(0); + ok(0, "unexpected call\n"); return E_NOTIMPL; } static HRESULT STDMETHODCALLTYPE Test_Stream_Revert(IStream *iface) { - assert(0); + ok(0, "unexpected call\n"); return E_NOTIMPL; } static HRESULT STDMETHODCALLTYPE Test_Stream_LockRegion(IStream *iface, ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) { - assert(0); + ok(0, "unexpected call\n"); return E_NOTIMPL; } static HRESULT STDMETHODCALLTYPE Test_Stream_UnlockRegion(IStream *iface, ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) { - assert(0); + ok(0, "unexpected call\n"); return E_NOTIMPL; } static HRESULT STDMETHODCALLTYPE Test_Stream_Stat(IStream *iface, STATSTG *pstatstg, DWORD grfStatFlag) { - assert(0); + ok(0, "unexpected call\n"); return E_NOTIMPL; } static HRESULT STDMETHODCALLTYPE Test_Stream_Clone(IStream *iface, IStream **ppstm) { - assert(0); + ok(0, "unexpected call\n"); return E_NOTIMPL; } diff --git a/rostests/winetests/comctl32/listview.c b/rostests/winetests/comctl32/listview.c index 62b9b779823..014997ed0bd 100644 --- a/rostests/winetests/comctl32/listview.c +++ b/rostests/winetests/comctl32/listview.c @@ -398,8 +398,6 @@ static LRESULT WINAPI parent_wnd_proc(HWND hwnd, UINT message, WPARAM wParam, LP message != WM_GETICON && message != WM_DEVICECHANGE) { - trace("parent: %p, %04x, %08lx, %08lx\n", hwnd, message, wParam, lParam); - add_message(sequences, PARENT_SEQ_INDEX, &msg); add_message(sequences, COMBINED_SEQ_INDEX, &msg); } @@ -586,8 +584,6 @@ static LRESULT WINAPI listview_subclass_proc(HWND hwnd, UINT message, WPARAM wPa LRESULT ret; struct message msg; - trace("listview: %p, %04x, %08lx, %08lx\n", hwnd, message, wParam, lParam); - /* some debug output for style changing */ if ((message == WM_STYLECHANGING || message == WM_STYLECHANGED) && lParam) @@ -664,8 +660,6 @@ static LRESULT WINAPI header_subclass_proc(HWND hwnd, UINT message, WPARAM wPara LRESULT ret; struct message msg; - trace("header: %p, %04x, %08lx, %08lx\n", hwnd, message, wParam, lParam); - msg.message = message; msg.flags = sent|wparam|lparam; if (defwndproc_counter) msg.flags |= defwinproc; @@ -1757,8 +1751,8 @@ static LRESULT WINAPI cd_wndproc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp) if(msg == WM_NOTIFY) { NMHDR *nmhdr = (PVOID)lp; if(nmhdr->code == NM_CUSTOMDRAW) { - NMLVCUSTOMDRAW *nmlvcd = (PVOID)nmhdr; - trace("NMCUSTOMDRAW (0x%.8x)\n", nmlvcd->nmcd.dwDrawStage); + NMLVCUSTOMDRAW *nmlvcd = (NMLVCUSTOMDRAW*)nmhdr; + switch(nmlvcd->nmcd.dwDrawStage) { case CDDS_PREPAINT: SetBkColor(nmlvcd->nmcd.hdc, c0ffee); diff --git a/rostests/winetests/comctl32/misc.c b/rostests/winetests/comctl32/misc.c index 72dcc662725..c1f4e1ceab8 100644 --- a/rostests/winetests/comctl32/misc.c +++ b/rostests/winetests/comctl32/misc.c @@ -22,6 +22,7 @@ //#include #include +#include "v6util.h" static PVOID (WINAPI * pAlloc)(LONG); static PVOID (WINAPI * pReAlloc)(PVOID, LONG); @@ -186,13 +187,39 @@ static void test_Alloc(void) ok(res == TRUE, "Expected TRUE, got %d\n", res); } +static void test_TaskDialogIndirect(void) +{ + HINSTANCE hinst; + void *ptr, *ptr2; + + hinst = LoadLibraryA("comctl32.dll"); + + ptr = GetProcAddress(hinst, "TaskDialogIndirect"); + if (!ptr) + { + win_skip("TaskDialogIndirect not exported by name\n"); + return; + } + + ptr2 = GetProcAddress(hinst, (const CHAR*)345); + ok(ptr == ptr2, "got wrong pointer for ordinal 345, %p expected %p\n", ptr2, ptr); +} + START_TEST(misc) { + ULONG_PTR ctx_cookie; + HANDLE hCtx; + if(!InitFunctionPtrs()) return; test_GetPtrAW(); test_Alloc(); - FreeLibrary(hComctl32); + if (!load_v6_module(&ctx_cookie, &hCtx)) + return; + + test_TaskDialogIndirect(); + + unload_v6_module(ctx_cookie, hCtx); } diff --git a/rostests/winetests/comctl32/monthcal.c b/rostests/winetests/comctl32/monthcal.c index 1d8ccfa8c78..54a982e0517 100644 --- a/rostests/winetests/comctl32/monthcal.c +++ b/rostests/winetests/comctl32/monthcal.c @@ -461,8 +461,6 @@ static LRESULT WINAPI parent_wnd_proc(HWND hwnd, UINT message, WPARAM wParam, LP message != WM_GETICON && message != WM_DEVICECHANGE) { - trace("parent: %p, %04x, %08lx, %08lx\n", hwnd, message, wParam, lParam); - msg.message = message; msg.flags = sent|wparam|lparam; if (defwndproc_counter) msg.flags |= defwinproc; @@ -883,7 +881,6 @@ static void test_firstDay(void) /* check for locale first day */ if(GetLocaleInfoA(lcid, LOCALE_IFIRSTDAYOFWEEK, b, 128)){ fday = atoi(b); - trace("fday: %d\n", fday); res = SendMessage(hwnd, MCM_GETFIRSTDAYOFWEEK, 0, 0); expect(fday, res); prev = fday; @@ -1330,6 +1327,9 @@ static void test_scroll(void) hwnd = create_monthcal_control(0); + res = SendMessage(hwnd, MCM_GETMONTHDELTA, 0, 0); + expect(2, res); + flush_sequences(sequences, NUM_MSG_SEQUENCES); /* Setter and Getters for scroll rate */ @@ -1977,7 +1977,6 @@ static void test_sel_notify(void) for(i = 0; i < sizeof styles / sizeof styles[0]; i++) { - trace("%s\n", styles[i].name); hwnd = create_monthcal_control(styles[i].val); SetWindowLongPtr(hwnd, GWLP_ID, SEL_NOTIFY_TEST_ID); assert(hwnd); diff --git a/rostests/winetests/comctl32/pager.c b/rostests/winetests/comctl32/pager.c index 21f619baa96..3d5a32e94da 100644 --- a/rostests/winetests/comctl32/pager.c +++ b/rostests/winetests/comctl32/pager.c @@ -77,8 +77,6 @@ static LRESULT WINAPI parent_wnd_proc(HWND hwnd, UINT message, WPARAM wParam, LP message != WM_GETICON && message != WM_DEVICECHANGE) { - trace("parent: %p, %04x, %08lx, %08lx\n", hwnd, message, wParam, lParam); - msg.message = message; msg.flags = sent|wparam|lparam|parent; if (defwndproc_counter) msg.flags |= defwinproc; @@ -127,8 +125,6 @@ static LRESULT WINAPI pager_subclass_proc(HWND hwnd, UINT message, WPARAM wParam WNDPROC oldproc = (WNDPROC)GetWindowLongPtrA(hwnd, GWLP_USERDATA); struct message msg; - trace("pager: %p, %04x, %08lx, %08lx\n", hwnd, message, wParam, lParam); - msg.message = message; msg.flags = sent|wparam|lparam; msg.wParam = wParam; diff --git a/rostests/winetests/comctl32/progress.c b/rostests/winetests/comctl32/progress.c index 3083e8ba2e5..59a4b00804d 100644 --- a/rostests/winetests/comctl32/progress.c +++ b/rostests/winetests/comctl32/progress.c @@ -32,6 +32,11 @@ static HWND hProgressParentWnd, hProgressWnd; static const char progressTestClass[] = "ProgressBarTestClass"; +static HWND create_progress(DWORD style) +{ + return CreateWindowExA(0, PROGRESS_CLASSA, "", WS_VISIBLE | style, + 0, 0, 100, 20, NULL, NULL, GetModuleHandleA(NULL), 0); +} /* try to make sure pending X events have been processed before continuing */ static void flush_events(void) @@ -224,12 +229,40 @@ static void test_redraw(void) ok(erased, "Progress bar should have erased the background\n"); } +static void test_setcolors(void) +{ + HWND progress; + COLORREF clr; + + progress = create_progress(PBS_SMOOTH); + + clr = SendMessageA(progress, PBM_SETBARCOLOR, 0, 0); + ok(clr == CLR_DEFAULT, "got %x\n", clr); + + clr = SendMessageA(progress, PBM_SETBARCOLOR, 0, RGB(0, 255, 0)); + ok(clr == 0, "got %x\n", clr); + + clr = SendMessageA(progress, PBM_SETBARCOLOR, 0, CLR_DEFAULT); + ok(clr == RGB(0, 255, 0), "got %x\n", clr); + + clr = SendMessageA(progress, PBM_SETBKCOLOR, 0, 0); + ok(clr == CLR_DEFAULT, "got %x\n", clr); + + clr = SendMessageA(progress, PBM_SETBKCOLOR, 0, RGB(255, 0, 0)); + ok(clr == 0, "got %x\n", clr); + + clr = SendMessageA(progress, PBM_SETBKCOLOR, 0, CLR_DEFAULT); + ok(clr == RGB(255, 0, 0), "got %x\n", clr); + + DestroyWindow(progress); +} START_TEST(progress) { init(); test_redraw(); - + test_setcolors(); + cleanup(); } diff --git a/rostests/winetests/comctl32/propsheet.c b/rostests/winetests/comctl32/propsheet.c index 35373adcd30..387c9a7d840 100644 --- a/rostests/winetests/comctl32/propsheet.c +++ b/rostests/winetests/comctl32/propsheet.c @@ -669,8 +669,6 @@ static void save_message(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam, (message < WM_MOUSEFIRST || message > WM_MOUSEHWHEEL) && message != 0x90) { - /*trace("check_message: %04x, %04x\n", message, receiver);*/ - msg.message = message; msg.flags = sent|wparam|lparam|id; msg.wParam = wParam; diff --git a/rostests/winetests/comctl32/rebar.c b/rostests/winetests/comctl32/rebar.c index a608603c511..f85d0926766 100644 --- a/rostests/winetests/comctl32/rebar.c +++ b/rostests/winetests/comctl32/rebar.c @@ -126,7 +126,9 @@ static HWND build_toolbar(int nr, HWND hParent) return hToolbar; } -static LRESULT CALLBACK MyWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) +static int g_parent_measureitem; + +static LRESULT CALLBACK parent_wndproc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { @@ -137,6 +139,9 @@ static LRESULT CALLBACK MyWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lPa GetClientRect(lpnm->hwndFrom, &height_change_notify_rect); } break; + case WM_MEASUREITEM: + g_parent_measureitem++; + break; } return DefWindowProcA(hWnd, msg, wParam, lParam); } @@ -1058,7 +1063,7 @@ static BOOL register_parent_wnd_class(void) wc.hbrBackground = GetSysColorBrush(COLOR_WINDOW); wc.lpszMenuName = NULL; wc.lpszClassName = "MyTestWnd"; - wc.lpfnWndProc = MyWndProc; + wc.lpfnWndProc = parent_wndproc; return RegisterClassA(&wc); } @@ -1108,6 +1113,20 @@ static void test_showband(void) DestroyWindow(hRebar); } +static void test_notification(void) +{ + MEASUREITEMSTRUCT mis; + HWND rebar; + + rebar = create_rebar_control(); + + g_parent_measureitem = 0; + SendMessageA(rebar, WM_MEASUREITEM, 0, (LPARAM)&mis); + ok(g_parent_measureitem == 1, "got %d\n", g_parent_measureitem); + + DestroyWindow(rebar); +} + START_TEST(rebar) { HMODULE hComctl32; @@ -1134,6 +1153,7 @@ START_TEST(rebar) test_bandinfo(); test_colors(); test_showband(); + test_notification(); if(!is_font_installed("System") || !is_font_installed("Tahoma")) { diff --git a/rostests/winetests/comctl32/trackbar.c b/rostests/winetests/comctl32/trackbar.c index aa0d65fb4ec..92d224c3f6c 100644 --- a/rostests/winetests/comctl32/trackbar.c +++ b/rostests/winetests/comctl32/trackbar.c @@ -394,6 +394,7 @@ static LRESULT WINAPI parent_wnd_proc(HWND hwnd, UINT message, WPARAM wParam, LP if (defwndproc_counter) msg.flags |= defwinproc; msg.wParam = wParam; msg.lParam = lParam; + msg.id = 0; add_message(sequences, PARENT_SEQ_INDEX, &msg); }