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