wine/ include/Makefile.in dlls/user/user32.spe ... (CVS compile
fix)
Mike McCormack
mike at codeweavers.com
Fri Jan 7 20:54:58 CST 2005
This patch adds GetScrollBarInfo to user32.spec, but adds no
implementation...
Here's a temporary fix for those wondering why the CVS won't compile
until the rest of Vitaly's scrollbar patch is committed.
Mike
Alexandre Julliard wrote:
> ChangeSet ID: 15265
> CVSROOT: /opt/cvs-commit
> Module name: wine
> Changes by: julliard at wine.codeweavers.com 2005/01/07 11:15:30
>
> Modified files:
> include : Makefile.in
> dlls/user : user32.spec misc.c
> Added files:
> include : winnls32.h
>
> Log message:
> Diego Pettenò <flameeyes at users.berlios.de>
> Added stub implementation for WINNLS* functions.
>
> Patch: http://cvs.winehq.org/patch.py?id=15265
>
> Old revision New revision Changes Path
> 1.151 1.152 +1 -0 wine/include/Makefile.in
> 1.92 1.93 +4 -4 wine/dlls/user/user32.spec
> 1.19 1.20 +34 -3 wine/dlls/user/misc.c
> Added 1.1 +0 -0 wine/include/winnls32.h
-------------- next part --------------
? dlls/user/timer.c
? dlls/user/tests/child.c
? dlls/user/tests/child.ok
? dlls/user/tests/timer.c
? dlls/user/tests/timer.ok
Index: dlls/user/painting.c
===================================================================
RCS file: /home/wine/wine/dlls/user/painting.c,v
retrieving revision 1.16
diff -u -r1.16 painting.c
--- dlls/user/painting.c 4 Jan 2005 12:11:09 -0000 1.16
+++ dlls/user/painting.c 8 Jan 2005 02:53:48 -0000
@@ -570,3 +570,10 @@
}
return ret;
}
+
+BOOL WINAPI SetLayeredWindowAttributes(HWND hwnd, COLORREF crKey,
+ BYTE bAlpha, DWORD dwFlags)
+{
+ FIXME("%p %08lx %02x %08lx\n", hwnd, crKey, bAlpha, dwFlags);
+ return TRUE;
+}
Index: dlls/user/user32.spec
===================================================================
RCS file: /home/wine/wine/dlls/user/user32.spec,v
retrieving revision 1.93
diff -u -r1.93 user32.spec
--- dlls/user/user32.spec 7 Jan 2005 17:15:30 -0000 1.93
+++ dlls/user/user32.spec 8 Jan 2005 02:53:49 -0000
@@ -294,7 +294,7 @@
@ stdcall GetPropA(long str)
@ stdcall GetPropW(long wstr)
@ stdcall GetQueueStatus(long)
-@ stdcall GetScrollBarInfo(long long ptr)
+#@ stdcall GetScrollBarInfo(long long ptr)
@ stdcall GetScrollInfo(long long ptr)
@ stdcall GetScrollPos(long long)
@ stdcall GetScrollRange(long long ptr ptr)
@@ -521,6 +521,7 @@
@ stdcall SetInternalWindowPos(long long ptr ptr)
@ stdcall SetKeyboardState(ptr)
@ stdcall SetLastErrorEx(long long)
+@ stdcall SetLayeredWindowAttributes(long long long long)
@ stdcall SetLogonNotifyWindow(long long)
@ stdcall SetMenu(long long)
@ stdcall SetMenuContextHelpId(long long)
Index: dlls/user/tests/win.c
===================================================================
RCS file: /home/wine/wine/dlls/user/tests/win.c,v
retrieving revision 1.39
diff -u -r1.39 win.c
--- dlls/user/tests/win.c 27 Dec 2004 17:26:37 -0000 1.39
+++ dlls/user/tests/win.c 8 Jan 2005 02:53:49 -0000
@@ -2114,6 +2114,82 @@
ok( !ret, "message %04x available\n", msg.message);
}
+static void test_child_window()
+{
+ WNDCLASSA cls,child_cls;
+ char className[] = "parentclass"; /* To make sure className >= 0x10000 */
+ char winName[] = "parent window";
+ char childclassName[] = "childclass"; /* To make sure className >= 0x10000 */
+ char childwinName[] = "child window";
+ HWND hWnd, hChild;
+ HINSTANCE hInstance = GetModuleHandleA( NULL );
+
+ cls.style = CS_HREDRAW | CS_VREDRAW | CS_GLOBALCLASS;
+ cls.lpfnWndProc = DefWindowProcA;
+ cls.cbClsExtra = 0;
+ cls.cbWndExtra = 0;
+ cls.hInstance = 0;
+ cls.hIcon = LoadIconA (0, (LPSTR)IDI_APPLICATION);
+ cls.hCursor = LoadCursorA (0, (LPSTR)IDC_ARROW);
+ cls.hbrBackground = GetStockObject (WHITE_BRUSH);
+ cls.lpszMenuName = 0;
+ cls.lpszClassName = className;
+
+ ok (RegisterClassA (&cls), "unable to register class") ;
+
+ hWnd = CreateWindowA (className, winName,
+ WS_OVERLAPPEDWINDOW ,
+ CW_USEDEFAULT, CW_USEDEFAULT, 300, 300, 0,
+ 0,
+ hInstance, 0);
+
+ ok(hWnd != 0, "Couldn't create parent window");
+
+ child_cls.style = CS_HREDRAW | CS_VREDRAW | CS_GLOBALCLASS;
+ child_cls.lpfnWndProc = DefWindowProcA;
+ child_cls.cbClsExtra = 0;
+ child_cls.cbWndExtra = 0;
+ child_cls.hInstance = 0;
+ child_cls.hIcon = LoadIconA (0, (LPSTR)IDI_APPLICATION);
+ child_cls.hCursor = LoadCursorA (0, (LPSTR)IDC_ARROW);
+ child_cls.hbrBackground = GetStockObject (GRAY_BRUSH);
+ child_cls.lpszMenuName = 0;
+ child_cls.lpszClassName = childclassName;
+
+ ok (RegisterClassA (&child_cls) , "unable to register child class");
+
+ /* NOTE: WS_POPUP should override WS_CHILD */
+
+ hChild = CreateWindowExA (
+ 0, childclassName, childwinName,
+ WS_POPUP | WS_CHILD | WS_CLIPCHILDREN,
+ 50, 50, 50, 100, hWnd,
+ 0, hInstance, 0);
+
+ ok(hChild != 0, "Couldn't create child window");
+
+ ok(!SetActiveWindow(hChild),
+ "Can activate without parent window");
+
+ ok(GetAncestor(hChild, GA_PARENT) == GetDesktopWindow(),
+ "ancestor is not the desktop window");
+
+ ShowWindow (hWnd, SW_SHOW);
+ UpdateWindow (hWnd);
+
+ ok(SetActiveWindow(hChild) != 0,
+ "Can't activate window with parent active");
+
+ ShowWindow (hChild, SW_SHOW);
+ UpdateWindow (hChild);
+
+ ok(SetActiveWindow(hChild) != 0,
+ "Can't activate window with parent active");
+
+ DestroyWindow(hChild);
+ DestroyWindow(hWnd);
+}
+
static void test_mouse_input(HWND hwnd)
{
RECT rc;
@@ -2179,6 +2255,8 @@
START_TEST(win)
{
+ test_child_window();
+
pGetAncestor = (void *)GetProcAddress( GetModuleHandleA("user32.dll"), "GetAncestor" );
pGetWindowInfo = (void *)GetProcAddress( GetModuleHandleA("user32.dll"), "GetWindowInfo" );
More information about the wine-devel
mailing list