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