Non-static structure initializers

Gregg Mattinson gm138242 at scot.canada.sun.com
Tue Jul 2 14:46:48 CDT 2002


Changelog: dlls/comctl32/pager.c dlls/commdlg/filedlg95.c
           dlls/ddraw/ddraw/thunks.c dlls/ddraw/dsurface/thunks.c
           dlls/odbc32/proxyodbc.c dlls/winsock/socket.c
           programs/winefile/winefile.c
 - Forte C (SUNPRO_C) does not support non-static initializers for structures

Gregg Mattinson
Co-op Developer
Sun Microsystems of Canada

-------------- next part --------------
Index: dlls/comctl32/pager.c
===================================================================
RCS file: /opcom/comp/ws/wine/CVSROOT/wine/dlls/comctl32/pager.c,v
retrieving revision 1.1
diff -u -r1.1 pager.c
--- /tmp/T0eWaGsF	Tue Jul  2 13:50:05 2002
+++ pager.c	Tue Jun 25 07:58:27 2002
@@ -1114,7 +1114,11 @@
 static LRESULT
 PAGER_NCHitTest (HWND hwnd, WPARAM wParam, LPARAM lParam)
 {
-    POINT pt = { SLOWORD(lParam), SHIWORD(lParam) };
+    POINT pt;
+
+    pt.x = SLOWORD(lParam);
+    pt.y = SHIWORD(lParam);
+
     ScreenToClient (hwnd, &pt);
     return PAGER_HitTest(hwnd, &pt);
 }
@@ -1184,7 +1188,7 @@
 PAGER_MouseMove (HWND hwnd, WPARAM wParam, LPARAM lParam)
 {
     PAGER_INFO *infoPtr = PAGER_GetInfoPtr (hwnd);
-    POINT clpt, pt = {SLOWORD(lParam), SHIWORD(lParam)};
+    POINT clpt, pt;
     RECT wnrect, TLbtnrect, BRbtnrect, *btnrect = NULL;
     DWORD dwStyle = GetWindowLongA (hwnd, GWL_STYLE);
     BOOL topLeft = FALSE;
@@ -1192,6 +1196,9 @@
     INT hit;
     HDC hdc;
 
+    pt.x = SLOWORD(lParam);
+    pt.y = SHIWORD(lParam);
+
     TRACE("[%08x] to (%ld,%ld)\n", hwnd, pt.x, pt.y);
     ClientToScreen(hwnd, &pt);
     GetWindowRect(hwnd, &wnrect);
@@ -1272,9 +1279,12 @@
 {
     PAGER_INFO *infoPtr = PAGER_GetInfoPtr (hwnd);
     BOOL repaintBtns = FALSE;
-    POINT pt = { SLOWORD(lParam), SHIWORD(lParam) };
+    POINT pt;
     INT hit;
 
+    pt.x = SLOWORD(lParam);
+    pt.y = SHIWORD(lParam);
+
     TRACE("[%08x] at (%d,%d)\n", hwnd, SLOWORD(lParam), SHIWORD(lParam));
 
     hit = PAGER_HitTest(hwnd, &pt);
@@ -1339,7 +1349,10 @@
 static LRESULT
 PAGER_NCLButtonDown (HWND hwnd, WPARAM wParam, LPARAM lParam)
 {
-    POINT pt = {SLOWORD(lParam), SHIWORD(lParam)};
+    POINT pt;
+
+    pt.x = SLOWORD(lParam);
+    pt.y = SHIWORD(lParam);
 
     TRACE("[%08x] at (%d,%d)\n", hwnd, SLOWORD(lParam), SHIWORD(lParam));
     MapWindowPoints(0, hwnd, &pt, 1);
Index: dlls/commdlg/filedlg95.c
===================================================================
RCS file: /opcom/comp/ws/wine/CVSROOT/wine/dlls/commdlg/filedlg95.c,v
retrieving revision 1.1
diff -u -r1.1 filedlg95.c
--- /tmp/T07qa4sF	Tue Jul  2 13:50:12 2002
+++ filedlg95.c	Tue Jun 25 08:08:12 2002
@@ -961,15 +961,14 @@
    {VIEW_LIST,         FCIDM_TB_SMALLICON,  TBSTATE_ENABLED, TBSTYLE_BUTTON, {0, 0}, 0, 0 },
    {VIEW_DETAILS,      FCIDM_TB_REPORTVIEW, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0, 0}, 0, 0 },
   };
-  TBADDBITMAP tba[] =
-  {
-   { HINST_COMMCTRL, IDB_VIEW_SMALL_COLOR },
-   { COMDLG32_hInstance, 800 } 			/* desktop icon */
-  };
-
+  TBADDBITMAP tba[2];
   RECT rectTB;
-
   FileOpenDlgInfos *fodInfos = (FileOpenDlgInfos *) GetPropA(hwnd,FileOpenDlgInfosStr);
+
+  tba[0].hInst = HINST_COMMCTRL;
+  tba[0].nID   = IDB_VIEW_SMALL_COLOR;
+  tba[1].hInst = COMDLG32_hInstance;
+  tba[1].nID   = 800;
 
   TRACE("%p\n", fodInfos);
 
Index: dlls/ddraw/ddraw/thunks.c
===================================================================
RCS file: /opcom/comp/ws/wine/CVSROOT/wine/dlls/ddraw/ddraw/thunks.c,v
retrieving revision 1.1
diff -u -r1.1 thunks.c
--- /tmp/T0qZaqtF	Tue Jul  2 13:50:18 2002
+++ thunks.c	Mon Jun 24 16:41:49 2002
@@ -336,7 +336,10 @@
 				 LPDDSURFACEDESC pDDSD, LPVOID context,
 				 LPDDENUMMODESCALLBACK cb)
 {
-    struct displaymodescallback_context cbcontext = { cb, context };
+    struct displaymodescallback_context cbcontext;
+
+    cbcontext.func    = cb;
+    cbcontext.context = context;
 
     return IDirectDraw7_EnumDisplayModes(COM_INTERFACE_CAST(IDirectDrawImpl,
 							    IDirectDraw,
@@ -351,7 +354,10 @@
 				  LPDDSURFACEDESC pDDSD, LPVOID context,
 				  LPDDENUMMODESCALLBACK cb)
 {
-    struct displaymodescallback_context cbcontext = { cb, context };
+    struct displaymodescallback_context cbcontext;
+
+    cbcontext.func    = cb;
+    cbcontext.context = context;
 
     return IDirectDraw7_EnumDisplayModes(COM_INTERFACE_CAST(IDirectDrawImpl,
 							    IDirectDraw2,
@@ -399,7 +405,11 @@
 			     LPDDSURFACEDESC pDDSD, LPVOID context,
 			     LPDDENUMSURFACESCALLBACK cb)
 {
-    struct surfacescallback_context cbcontext = { cb, context };
+    struct surfacescallback_context cbcontext;
+
+    cbcontext.func    = cb;
+    cbcontext.context = context;
+
     return IDirectDraw7_EnumSurfaces(COM_INTERFACE_CAST(IDirectDrawImpl,
 							IDirectDraw,
 							IDirectDraw7, This),
@@ -412,7 +422,11 @@
 			      LPDDSURFACEDESC pDDSD, LPVOID context,
 			      LPDDENUMSURFACESCALLBACK cb)
 {
-    struct surfacescallback_context cbcontext = { cb, context };
+    struct surfacescallback_context cbcontext;
+
+    cbcontext.func    = cb;
+    cbcontext.context = context;
+
     return IDirectDraw7_EnumSurfaces(COM_INTERFACE_CAST(IDirectDrawImpl,
 							IDirectDraw2,
 							IDirectDraw7, This),
Index: dlls/ddraw/dsurface/thunks.c
===================================================================
RCS file: /opcom/comp/ws/wine/CVSROOT/wine/dlls/ddraw/dsurface/thunks.c,v
retrieving revision 1.1
diff -u -r1.1 thunks.c
--- /tmp/T0PSaWuF	Tue Jul  2 13:50:22 2002
+++ thunks.c	Tue Jun 25 07:29:45 2002
@@ -135,7 +135,11 @@
 					     LPVOID context,
 					     LPDDENUMSURFACESCALLBACK callback)
 {
-    struct callback_info info = { callback, context };
+    struct callback_info info;
+
+    info.callback = callback;
+    info.context  = context;
+
     return IDirectDrawSurface7_EnumAttachedSurfaces(CONVERT(This), &info,
 						    EnumCallback);
 }
@@ -145,7 +149,11 @@
 					   DWORD dwFlags, LPVOID context,
 					   LPDDENUMSURFACESCALLBACK callback)
 {
-    struct callback_info info = { callback, context };
+    struct callback_info info;
+
+    info.callback = callback;
+    info.context  = context;
+
     return IDirectDrawSurface7_EnumOverlayZOrders(CONVERT(This), dwFlags,
 						  &info, EnumCallback);
 }
@@ -163,9 +171,14 @@
 					   LPDDSCAPS pCaps,
 					   LPDIRECTDRAWSURFACE3* ppAttached)
 {
-    DDSCAPS2 caps = { pCaps->dwCaps, 0, 0, 0 };
+    DDSCAPS2 caps;
     LPDIRECTDRAWSURFACE7 pAttached7;
     HRESULT hr;
+
+    caps.dwCaps  = pCaps->dwCaps;
+    caps.dwCaps2 = 0;
+    caps.dwCaps3 = 0;
+    caps.dwCaps4 = 0;
 
     hr = IDirectDrawSurface7_GetAttachedSurface(CONVERT(This), &caps,
 						&pAttached7);
Index: dlls/odbc32/proxyodbc.c
===================================================================
RCS file: /opcom/comp/ws/wine/CVSROOT/wine/dlls/odbc32/proxyodbc.c,v
retrieving revision 1.1
diff -u -r1.1 proxyodbc.c
--- /tmp/T0KZayzF	Tue Jul  2 13:51:15 2002
+++ proxyodbc.c	Tue Jun 25 08:16:39 2002
@@ -133,7 +133,7 @@
   FALSE,
   FALSE,
   ERROR_LIBRARY_NOT_FOUND,
-  { },
+  { 0, 0, 0, 0 },
   "",
   "",
   "",
Index: dlls/winsock/socket.c
===================================================================
RCS file: /opcom/comp/ws/wine/CVSROOT/wine/dlls/winsock/socket.c,v
retrieving revision 1.1
diff -u -r1.1 socket.c
--- /tmp/T0NVa4DF	Tue Jul  2 13:52:29 2002
+++ socket.c	Tue Jun 25 09:08:26 2002
@@ -2303,7 +2303,10 @@
 int WINAPI WS_recv(SOCKET s, char *buf, int len, int flags)
 {
     DWORD n, dwFlags = flags;
-    WSABUF wsabuf = { len, buf };
+    WSABUF wsabuf;
+
+    wsabuf.len = len;
+    wsabuf.buf = buf;
 
     if ( WSARecvFrom (s, &wsabuf, 1, &n, &dwFlags, NULL, NULL, NULL, NULL) == SOCKET_ERROR )
         return SOCKET_ERROR;
@@ -2327,7 +2330,10 @@
                                 struct WS_sockaddr *from, int *fromlen)
 {
     DWORD n, dwFlags = flags;
-    WSABUF wsabuf = { len, buf };
+    WSABUF wsabuf;
+
+    wsabuf.len = len;
+    wsabuf.buf = buf;
 
     if ( WSARecvFrom (s, &wsabuf, 1, &n, &dwFlags, from, fromlen, NULL, NULL) == SOCKET_ERROR )
         return SOCKET_ERROR;
@@ -2450,7 +2456,10 @@
 int WINAPI WS_send(SOCKET s, const char *buf, int len, int flags)
 {
     DWORD n;
-    WSABUF wsabuf = { len, (char*) buf };
+    WSABUF wsabuf;
+
+    wsabuf.len = len;
+    wsabuf.buf = (char*) buf;
 
     if ( WSASendTo ( s, &wsabuf, 1, &n, flags, NULL, 0, NULL, NULL) == SOCKET_ERROR )
         return SOCKET_ERROR;
@@ -2596,7 +2605,10 @@
                               const struct WS_sockaddr *to, int tolen)
 {
     DWORD n;
-    WSABUF wsabuf = { len, (char*) buf };
+    WSABUF wsabuf;
+
+    wsabuf.len = len;
+    wsabuf.buf = (char*) buf;
 
     if ( WSASendTo (s, &wsabuf, 1, &n, flags, to, tolen, NULL, NULL) == SOCKET_ERROR )
         return SOCKET_ERROR;
Index: programs/winefile/winefile.c
===================================================================
RCS file: /opcom/comp/ws/wine/CVSROOT/wine/programs/winefile/winefile.c,v
retrieving revision 1.1
diff -u -r1.1 winefile.c
--- /tmp/T0jLa4XF	Tue Jul  2 13:54:10 2002
+++ winefile.c	Tue Jun 25 09:05:55 2002
@@ -809,7 +809,12 @@
 
 static void resize_frame(HWND hwnd, int cx, int cy)
 {
-	RECT rect = {0, 0, cx, cy};
+	RECT rect;
+
+	rect.left   = 0;
+	rect.top    = 0;
+	rect.right  = cx;
+	rect.bottom = cy;
 
 	resize_frame_rect(hwnd, &rect);
 }
@@ -842,15 +847,19 @@
 
 static HWND create_child_window(ChildWnd* child)
 {
-	MDICREATESTRUCT mcs = {
-		WINEFILETREE, (LPTSTR)child->path, Globals.hInstance,
-		child->pos.rcNormalPosition.left, child->pos.rcNormalPosition.top,
-		child->pos.rcNormalPosition.right-child->pos.rcNormalPosition.left,
-		child->pos.rcNormalPosition.bottom-child->pos.rcNormalPosition.top,
-		0/*style*/, 0/*lParam*/
-	};
+	MDICREATESTRUCT mcs;
 	int idx;
 
+	mcs.szClass = WINEFILETREE;
+	mcs.szTitle = (LPTSTR)child->path;
+	mcs.hOwner  = Globals.hInstance;
+	mcs.x       = child->pos.rcNormalPosition.left;
+	mcs.y       = child->pos.rcNormalPosition.top;
+	mcs.cx      = child->pos.rcNormalPosition.right-child->pos.rcNormalPosition.left;
+	mcs.cy      = child->pos.rcNormalPosition.bottom-child->pos.rcNormalPosition.top;
+	mcs.style   = 0;
+	mcs.lParam  = 0;
+
 	hcbthook = SetWindowsHookEx(WH_CBT, CBTProc, 0, GetCurrentThreadId());
 
 	newchild = child;
@@ -1243,18 +1252,26 @@
 	HDF_LEFT	/* Security */
 #endif
 };
 
 static void resize_tree(ChildWnd* child, int cx, int cy)
 {
 	HDWP hdwp = BeginDeferWindowPos(4);
-	RECT rt = {0, 0, cx, cy};
+	RECT rt;
+
+	rt.left   = 0;
+	rt.top    = 0;
+	rt.right  = cx;
+	rt.bottom = cy;
 
 	cx = child->split_pos + SPLIT_WIDTH/2;
 
 #ifndef _NO_EXTENSIONS
 	{
 		WINDOWPOS wp;
-		HD_LAYOUT hdl = {&rt, &wp};
+		HD_LAYOUT hdl;
+
+		hdl.prc   = &rt;
+		hdl.pwpos = ℘
 
 		Header_Layout(child->left.hwndHeader, &hdl);
 
@@ -1345,9 +1362,15 @@
 	for(cnt=0; cnt<entries; cnt++) {
 		Entry* entry = (Entry*) ListBox_GetItemData(pane->hwnd, cnt);
 
-		DRAWITEMSTRUCT dis = {0/*CtlType*/, 0/*CtlID*/,
-			0/*itemID*/, 0/*itemAction*/, 0/*itemState*/,
-			pane->hwnd/*hwndItem*/, hdc};
+		DRAWITEMSTRUCT dis;
+
+		dis.CtlType    = 0;
+		dis.CtlID      = 0;
+		dis.itemID     = 0;
+		dis.itemAction = 0;
+		dis.itemState  = 0;
+		dis.hwndItem   = pane->hwnd;
+		dis.hDC        = hdc;
 
 		draw_item(pane, &dis, entry, COLUMNS);
 	}
@@ -1412,7 +1435,15 @@
 
 	for(cnt=0; cnt<entries; cnt++) {
 		Entry* entry = (Entry*) ListBox_GetItemData(pane->hwnd, cnt);
-		DRAWITEMSTRUCT dis = {0, 0, 0, 0, 0, pane->hwnd, hdc};
+		DRAWITEMSTRUCT dis;
+
+		dis.CtlType    = 0;
+		dis.CtlID      = 0;
+		dis.itemID     = 0;
+		dis.itemAction = 0;
+		dis.itemState  = 0;
+		dis.hwndItem   = pane->hwnd;
+		dis.hDC        = hdc;
 
 		draw_item(pane, &dis, entry, col);
 	}
@@ -1586,7 +1617,12 @@
 static void output_text(Pane* pane, LPDRAWITEMSTRUCT dis, int col, LPCTSTR str, DWORD flags)
 {
 	int x = dis->rcItem.left;
-	RECT rt = {x+pane->positions[col]+Globals.spaceSize.cx, dis->rcItem.top, x+pane->positions[col+1]-Globals.spaceSize.cx, dis->rcItem.bottom};
+	RECT rt;
+
+	rt.left   = x+pane->positions[col]+Globals.spaceSize.cx;
+	rt.top    = dis->rcItem.top;
+	rt.right  = x+pane->positions[col+1]-Globals.spaceSize.cx;
+	rt.bottom = dis->rcItem.bottom;
 
 	DrawText(dis->hDC, (LPTSTR)str, -1, &rt, DT_SINGLELINE|DT_NOPREFIX|flags);
 }
@@ -1594,7 +1630,12 @@
 static void output_tabbed_text(Pane* pane, LPDRAWITEMSTRUCT dis, int col, LPCTSTR str)
 {
 	int x = dis->rcItem.left;
-	RECT rt = {x+pane->positions[col]+Globals.spaceSize.cx, dis->rcItem.top, x+pane->positions[col+1]-Globals.spaceSize.cx, dis->rcItem.bottom};
+	RECT rt;
+
+	rt.left   = x+pane->positions[col]+Globals.spaceSize.cx;
+	rt.top    = dis->rcItem.top;
+	rt.right  = x+pane->positions[col+1]-Globals.spaceSize.cx;
+	rt.bottom = dis->rcItem.bottom;
 
 /*	DRAWTEXTPARAMS dtp = {sizeof(DRAWTEXTPARAMS), 2};
 	DrawTextEx(dis->hDC, (LPTSTR)str, -1, &rt, DT_SINGLELINE|DT_NOPREFIX|DT_EXPANDTABS|DT_TABSTOP, &dtp);*/
@@ -1605,12 +1646,17 @@
 static void output_number(Pane* pane, LPDRAWITEMSTRUCT dis, int col, LPCTSTR str)
 {
 	int x = dis->rcItem.left;
-	RECT rt = {x+pane->positions[col]+Globals.spaceSize.cx, dis->rcItem.top, x+pane->positions[col+1]-Globals.spaceSize.cx, dis->rcItem.bottom};
+	RECT rt;
 	LPCTSTR s = str;
 	TCHAR b[128];
 	LPTSTR d = b;
 	int pos;
 
+	rt.left   = x+pane->positions[col]+Globals.spaceSize.cx;
+	rt.top    = dis->rcItem.top;
+	rt.right  = x+pane->positions[col+1]-Globals.spaceSize.cx;
+	rt.bottom = dis->rcItem.bottom;
+
 	if (*s)
 		*d++ = *s++;
 
@@ -1726,9 +1772,16 @@
 				int x;
 				int y = dis->rcItem.top + IMAGE_HEIGHT/2;
 				Entry* up;
-				RECT rt_clip = {dis->rcItem.left, dis->rcItem.top, dis->rcItem.left+pane->widths[col], dis->rcItem.bottom};
+				RECT rt_clip;
 				HRGN hrgn_org = CreateRectRgn(0, 0, 0, 0);
-				HRGN hrgn = CreateRectRgnIndirect(&rt_clip);
+				HRGN hrgn;
+
+				rt_clip.left   = dis->rcItem.left;
+				rt_clip.top    = dis->rcItem.top;
+				rt_clip.right  = dis->rcItem.left+pane->widths[col];
+				rt_clip.bottom = dis->rcItem.bottom;
+
+				hrgn = CreateRectRgnIndirect(&rt_clip);
 
 				if (!GetClipRgn(dis->hDC, hrgn_org)) {
 					DeleteObject(hrgn_org);
@@ -2100,8 +2153,18 @@
 
 			{
 				int scroll_pos = GetScrollPos(pane->hwnd, SB_HORZ);
-				RECT rt_scr = {pane->positions[idx+1]-scroll_pos, 0, clnt.right, clnt.bottom};
-				RECT rt_clip = {pane->positions[idx]-scroll_pos, 0, clnt.right, clnt.bottom};
+				RECT rt_scr;
+				RECT rt_clip;
+
+				rt_scr.left   = pane->positions[idx+1]-scroll_pos;
+				rt_scr.top    = 0;
+				rt_scr.right  = clnt.right;
+				rt_scr.bottom = clnt.bottom;
+
+				rt_clip.left   = pane->positions[idx]-scroll_pos;
+				rt_clip.top    = 0;
+				rt_clip.right  = clnt.right;
+				rt_clip.bottom = clnt.bottom;
 
 				if (rt_scr.left < 0) rt_scr.left = 0;
 				if (rt_clip.left < 0) rt_clip.left = 0;
@@ -2636,49 +2699,14 @@
 
 static void InitInstance(HINSTANCE hinstance)
 {
-	WNDCLASSEX wcFrame = {
-		sizeof(WNDCLASSEX),
-		0/*style*/,
-		FrameWndProc,
-		0/*cbClsExtra*/,
-		0/*cbWndExtra*/,
-		hinstance,
-		LoadIcon(hinstance, MAKEINTRESOURCE(IDI_WINEFILE)),
-		LoadCursor(0, IDC_ARROW),
-		0/*hbrBackground*/,
-		0/*lpszMenuName*/,
-		WINEFILEFRAME,
-		(HICON)LoadImage(hinstance, MAKEINTRESOURCE(IDI_WINEFILE), IMAGE_ICON,
-			GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), LR_SHARED)
-	};
-
-	 // register frame window class
-	ATOM hframeClass = RegisterClassEx(&wcFrame);
-
-
-	WNDCLASS wcChild = {
-		CS_CLASSDC|CS_DBLCLKS|CS_VREDRAW,
-		ChildWndProc,
-		0/*cbClsExtra*/,
-		0/*cbWndExtra*/,
-		hinstance,
-		0/*hIcon*/,
-		LoadCursor(0, IDC_ARROW),
-		0/*hbrBackground*/,
-		0/*lpszMenuName*/,
-		WINEFILETREE
-	};
-
-	 // register tree windows class
-	WINE_UNUSED ATOM hChildClass = RegisterClass(&wcChild);
-
-
+	WNDCLASSEX wcFrame;
+	ATOM hframeClass;
+	WNDCLASS wcChild;
+	WINE_UNUSED ATOM hChildClass;
 	HMENU hMenuFrame = LoadMenu(hinstance, MAKEINTRESOURCE(IDM_WINEFILE));
 	HMENU hMenuWindow = GetSubMenu(hMenuFrame, GetMenuItemCount(hMenuFrame)-2);
 
-	CLIENTCREATESTRUCT ccs = {
-		hMenuWindow, IDW_FIRST_CHILD
-	};
+	CLIENTCREATESTRUCT ccs;
 
 	INITCOMMONCONTROLSEX icc = {
 		sizeof(INITCOMMONCONTROLSEX),
@@ -2690,6 +2718,46 @@
 
 	HDC hdc = GetDC(0);
 
+
+	wcFrame.cbSize        = sizeof(WNDCLASSEX);
+	wcFrame.style         = 0;
+	wcFrame.lpfnWndProc   = FrameWndProc;
+	wcFrame.cbClsExtra    = 0;
+	wcFrame.cbWndExtra    = 0;
+	wcFrame.hInstance     = hinstance;
+	wcFrame.hIcon         = LoadIcon(hinstance,
+					 MAKEINTRESOURCE(IDI_WINEFILE));
+	wcFrame.hCursor       = LoadCursor(0, IDC_ARROW);
+	wcFrame.hbrBackground = 0;
+	wcFrame.lpszMenuName  = 0;
+	wcFrame.lpszClassName = WINEFILEFRAME;
+	wcFrame.hIconSm       = (HICON)LoadImage(hinstance,
+						 MAKEINTRESOURCE(IDI_WINEFILE),
+						 IMAGE_ICON,
+						 GetSystemMetrics(SM_CXSMICON),
+						 GetSystemMetrics(SM_CYSMICON),
+						 LR_SHARED);
+
+	/* register frame window class */
+	hframeClass = RegisterClassEx(&wcFrame);
+
+	wcChild.style         = CS_CLASSDC|CS_DBLCLKS|CS_VREDRAW;
+	wcChild.lpfnWndProc   = ChildWndProc;
+	wcChild.cbClsExtra    = 0;
+	wcChild.cbWndExtra    = 0;
+	wcChild.hInstance     = hinstance;
+	wcChild.hIcon         = 0;
+	wcChild.hCursor       = LoadCursor(0, IDC_ARROW);
+	wcChild.hbrBackground = 0;
+	wcChild.lpszMenuName  = 0;
+	wcChild.lpszClassName = WINEFILETREE;
+
+	/* register tree windows class */
+	hChildClass = RegisterClass(&wcChild);
+
+	ccs.hWindowMenu  = hMenuWindow;
+	ccs.idFirstChild = IDW_FIRST_CHILD;
+
 	Globals.hMenuFrame = hMenuFrame;
 	Globals.hMenuView = GetSubMenu(hMenuFrame, 3);
 	Globals.hMenuOptions = GetSubMenu(hMenuFrame, 4);


More information about the wine-patches mailing list