Module: wine Branch: refs/heads/master Commit: e30c69cc7de38c5d53587e403de616b8bc831136 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=e30c69cc7de38c5d53587e40...
Author: Alexandre Julliard julliard@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;