Alexandre Julliard : user: Added fast 32->16 mapping for
WM_MDIACTIVATE, WM_MDIGETACTIVE and WM_MDISETMENU.
Alexandre Julliard
julliard at wine.codeweavers.com
Fri May 26 13:55:01 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: e30c69cc7de38c5d53587e403de616b8bc831136
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=e30c69cc7de38c5d53587e403de616b8bc831136
Author: Alexandre Julliard <julliard at winehq.org>
Date: Fri May 26 14:08:09 2006 +0200
user: Added fast 32->16 mapping for WM_MDIACTIVATE, WM_MDIGETACTIVE and WM_MDISETMENU.
---
dlls/user/winproc.c | 40 ++++++++++++++++------------------------
1 files changed, 16 insertions(+), 24 deletions(-)
diff --git a/dlls/user/winproc.c b/dlls/user/winproc.c
index e603b53..c6c67a0 100644
--- a/dlls/user/winproc.c
+++ b/dlls/user/winproc.c
@@ -974,13 +974,6 @@ static INT WINPROC_MapMsg32ATo16( HWND h
*plparam = MapLS( str );
}
return 1;
- case WM_MDIGETACTIVE:
- return 1;
- case WM_MDISETMENU:
- *plparam = MAKELPARAM( (HMENU16)LOWORD(wParam32),
- (HMENU16)LOWORD(*plparam) );
- *pwparam16 = (*plparam == 0);
- return 0;
case WM_MENUSELECT:
if(HIWORD(wParam32) & MF_POPUP)
{
@@ -995,19 +988,6 @@ static INT WINPROC_MapMsg32ATo16( HWND h
case WM_MENUCHAR:
*plparam = MAKELPARAM( HIWORD(wParam32), (HMENU16)*plparam );
return 0;
- case WM_MDIACTIVATE:
- if (GetWindowLongW( hwnd, GWL_EXSTYLE ) & WS_EX_MDICHILD)
- {
- *pwparam16 = ((HWND)*plparam == hwnd);
- *plparam = MAKELPARAM( (HWND16)LOWORD(*plparam),
- (HWND16)LOWORD(wParam32) );
- }
- else
- {
- *pwparam16 = HWND_16( (HWND)wParam32 );
- *plparam = 0;
- }
- return 0;
case WM_PARENTNOTIFY:
if ((LOWORD(wParam32)==WM_CREATE) || (LOWORD(wParam32)==WM_DESTROY))
*plparam = MAKELPARAM( (HWND16)*plparam, HIWORD(wParam32));
@@ -1193,10 +1173,6 @@ static void WINPROC_UnmapMsg32ATo16( HWN
HeapFree( GetProcessHeap(), 0, (LPARAM *)str - 1 );
}
break;
- case WM_MDIGETACTIVE:
- if (lParam) *(BOOL *)lParam = (BOOL16)HIWORD(*result);
- *result = (LRESULT)WIN_Handle32( LOWORD(*result) );
- break;
case WM_NOTIFY:
UnMapLS(lParam16);
break;
@@ -2122,6 +2098,22 @@ LRESULT WINPROC_CallProc32ATo16( winproc
UnMapLS( cs.szClass );
}
break;
+ case WM_MDIACTIVATE:
+ if (GetWindowLongW( hwnd, GWL_EXSTYLE ) & WS_EX_MDICHILD)
+ ret = callback( HWND_16(hwnd), msg, ((HWND)lParam == hwnd),
+ MAKELPARAM( LOWORD(lParam), LOWORD(wParam) ), result, arg );
+ else
+ ret = callback( HWND_16(hwnd), msg, HWND_16( (HWND)wParam ), 0, result, arg );
+ break;
+ case WM_MDIGETACTIVE:
+ ret = callback( HWND_16(hwnd), msg, wParam, lParam, result, arg );
+ if (lParam) *(BOOL *)lParam = (BOOL16)HIWORD(*result);
+ *result = (LRESULT)WIN_Handle32( LOWORD(*result) );
+ break;
+ case WM_MDISETMENU:
+ ret = callback( HWND_16(hwnd), msg, (lParam == 0),
+ MAKELPARAM( LOWORD(wParam), LOWORD(lParam) ), result, arg );
+ break;
case WM_GETMINMAXINFO:
{
MINMAXINFO *mmi32 = (MINMAXINFO *)lParam;
More information about the wine-cvs
mailing list