Made all 16<->32 HWND conversions use explicit functions instead of
implicit type casts.
Moved a lot of 16-bit functions to the new wnd16.c file.
Changed DIALOGINFO structure handling to support 32-bit handles.
diff --git a/windows/mdi.c b/windows/mdi.c
index 6822b41..9ce4d2e 100644
--- a/windows/mdi.c
+++ b/windows/mdi.c
@@ -550,10 +550,10 @@
cs16->szTitle = SEGPTR_GET(title);
cs16->szClass = SEGPTR_GET(cls);
- hwnd = CreateWindow16( cs->szClass, cs->szTitle, style,
- cs16->x, cs16->y, cs16->cx, cs16->cy, parent,
- (HMENU)wIDmenu, cs16->hOwner,
- (LPVOID)SEGPTR_GET(cs16) );
+ hwnd = WIN_Handle32( CreateWindow16( cs->szClass, cs->szTitle, style,
+ cs16->x, cs16->y, cs16->cx, cs16->cy,
+ WIN_Handle16(parent), (HMENU)wIDmenu,
+ cs16->hOwner, (LPVOID)SEGPTR_GET(cs16) ));
SEGPTR_FREE( title );
SEGPTR_FREE( cls );
SEGPTR_FREE( cs16 );
@@ -1287,16 +1287,16 @@
return MDICascade(hwnd, ci);
case WM_MDICREATE:
- if (lParam) return MDICreateChild( hwnd, ci,
- (MDICREATESTRUCTA *)lParam, unicode );
- else return 0;
+ if (lParam)
+ return (LRESULT)MDICreateChild( hwnd, ci, (MDICREATESTRUCTA *)lParam, unicode );
+ return 0;
case WM_MDIDESTROY:
return MDIDestroyChild( hwnd, ci, WIN_GetFullHandle( (HWND)wParam ), TRUE );
case WM_MDIGETACTIVE:
if (lParam) *(BOOL *)lParam = (ci->hwndChildMaximized != 0);
- return ci->hwndActiveChild;
+ return (LRESULT)ci->hwndActiveChild;
case WM_MDIICONARRANGE:
ci->mdiFlags |= MDIF_NEEDUPDATE;
@@ -1423,19 +1423,21 @@
switch (message)
{
case WM_SETTEXT:
- return DefFrameProcA( hwnd, hwndMDIClient, message, wParam, (LPARAM)MapSL(lParam) );
-
+ lParam = (LPARAM)MapSL(lParam);
+ /* fall through */
case WM_COMMAND:
case WM_NCACTIVATE:
case WM_SETFOCUS:
case WM_SIZE:
- return DefFrameProcW( hwnd, hwndMDIClient, message, wParam, lParam );
+ return DefFrameProcA( WIN_Handle32(hwnd), WIN_Handle32(hwndMDIClient),
+ message, wParam, lParam );
case WM_NEXTMENU:
{
MDINEXTMENU next_menu;
- DefFrameProcW( hwnd, hwndMDIClient, message, wParam, (LPARAM)&next_menu );
- return MAKELONG( next_menu.hmenuNext, next_menu.hwndNext );
+ DefFrameProcW( WIN_Handle32(hwnd), WIN_Handle32(hwndMDIClient),
+ message, wParam, (LPARAM)&next_menu );
+ return MAKELONG( next_menu.hmenuNext, WIN_Handle16(next_menu.hwndNext) );
}
default:
return DefWindowProc16(hwnd, message, wParam, lParam);
@@ -1600,7 +1602,7 @@
{
MDINEXTMENU next_menu;
DefMDIChildProcW( WIN_Handle32(hwnd), message, wParam, (LPARAM)&next_menu );
- return MAKELONG( next_menu.hmenuNext, next_menu.hwndNext );
+ return MAKELONG( next_menu.hmenuNext, WIN_Handle16(next_menu.hwndNext) );
}
default:
return DefWindowProc16(hwnd, message, wParam, lParam);
@@ -1875,24 +1877,6 @@
}
/**********************************************************************
- * TranslateMDISysAccel (USER.451)
- */
-BOOL16 WINAPI TranslateMDISysAccel16( HWND16 hwndClient, LPMSG16 msg )
-{
- if (msg->message == WM_KEYDOWN || msg->message == WM_SYSKEYDOWN)
- {
- MSG msg32;
- msg32.hwnd = msg->hwnd;
- msg32.message = msg->message;
- msg32.wParam = msg->wParam;
- msg32.lParam = msg->lParam;
- /* MDICLIENTINFO is still the same for win32 and win16 ... */
- return TranslateMDISysAccel(hwndClient, &msg32);
- }
- return 0;
-}
-
-/**********************************************************************
* TranslateMDISysAccel (USER32.@)
*/
BOOL WINAPI TranslateMDISysAccel( HWND hwndClient, LPMSG msg )
@@ -1930,14 +1914,6 @@
}
/***********************************************************************
- * CalcChildScroll (USER.462)
- */
-void WINAPI CalcChildScroll16( HWND16 hwnd, WORD scroll )
-{
- return CalcChildScroll( hwnd, scroll );
-}
-
-/***********************************************************************
* CalcChildScroll (USER32.@)
*/
void WINAPI CalcChildScroll( HWND hwnd, INT scroll )
@@ -1998,15 +1974,6 @@
/***********************************************************************
- * ScrollChildren (USER.463)
- */
-void WINAPI ScrollChildren16(HWND16 hWnd, UINT16 uMsg, WPARAM16 wParam, LPARAM lParam)
-{
- ScrollChildren( hWnd, uMsg, wParam, lParam );
-}
-
-
-/***********************************************************************
* ScrollChildren (USER32.@)
*/
void WINAPI ScrollChildren(HWND hWnd, UINT uMsg, WPARAM wParam,
@@ -2196,9 +2163,8 @@
*/
HWND hListBox = GetDlgItem(hDlg, MDI_IDC_LISTBOX);
UINT index = SendMessageW(hListBox, LB_GETCURSEL, 0, 0);
- HWND hwnd = SendMessageW(hListBox, LB_GETITEMDATA, index, 0);
-
- EndDialog(hDlg, hwnd);
+ LRESULT res = SendMessageW(hListBox, LB_GETITEMDATA, index, 0);
+ EndDialog(hDlg, res);
return TRUE;
}
case IDCANCEL: