Alexandre Julliard : user: Simplify 16-bit mappings of the WM_GETDLGCODE message.

Alexandre Julliard julliard at wine.codeweavers.com
Thu May 18 09:44:07 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: 3fe201c308f722076593e62b5b7998dc3ea5a1d7
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=3fe201c308f722076593e62b5b7998dc3ea5a1d7

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu May 18 16:30:56 2006 +0200

user: Simplify 16-bit mappings of the WM_GETDLGCODE message.

---

 dlls/user/winproc.c |   48 ++++++++++++++++--------------------------------
 1 files changed, 16 insertions(+), 32 deletions(-)

diff --git a/dlls/user/winproc.c b/dlls/user/winproc.c
index 3111bb7..26c84fe 100644
--- a/dlls/user/winproc.c
+++ b/dlls/user/winproc.c
@@ -1205,17 +1205,12 @@ INT WINPROC_MapMsg16To32A( HWND hwnd, UI
 
             if (!msg32) return -1;
             msg32->hwnd = WIN_Handle32( msg16->hwnd );
+            msg32->message = msg16->message;
+            msg32->wParam = msg16->wParam;
             msg32->lParam = msg16->lParam;
             msg32->time = msg16->time;
             msg32->pt.x = msg16->pt.x;
             msg32->pt.y = msg16->pt.y;
-            /* this is right, right? */
-            if (WINPROC_MapMsg16To32A( msg32->hwnd, msg16->message,msg16->wParam,
-                                     &msg32->message,&msg32->wParam,
-                                     &msg32->lParam)<0) {
-                HeapFree( GetProcessHeap(), 0, msg32 );
-                return -1;
-            }
             *plparam = (LPARAM)msg32;
             return 1;
         }
@@ -1410,9 +1405,6 @@ LRESULT WINPROC_UnmapMsg16To32A( HWND hw
         if (lParam)
         {
             LPMSG msg32 = (LPMSG)lParam;
-
-            WINPROC_UnmapMsg16To32A( hwnd, msg32->message, msg32->wParam, msg32->lParam,
-                                     result);
             HeapFree( GetProcessHeap(), 0, msg32 );
         }
         break;
@@ -1505,16 +1497,22 @@ INT WINPROC_MapMsg16To32W( HWND hwnd, UI
 
             if (!msg32) return -1;
             msg32->hwnd = WIN_Handle32( msg16->hwnd );
+            msg32->message = msg16->message;
+            msg32->wParam = msg16->wParam;
             msg32->lParam = msg16->lParam;
             msg32->time = msg16->time;
             msg32->pt.x = msg16->pt.x;
             msg32->pt.y = msg16->pt.y;
-            /* this is right, right? */
-            if (WINPROC_MapMsg16To32W(hwnd, msg16->message,msg16->wParam,
-                                     &msg32->message,&msg32->wParam,
-                                     &msg32->lParam)<0) {
-                HeapFree( GetProcessHeap(), 0, msg32 );
-                return -1;
+            switch(msg32->message)
+            {
+            case WM_CHAR:
+            case WM_DEADCHAR:
+            case WM_SYSCHAR:
+            case WM_SYSDEADCHAR:
+                ch = msg16->wParam;
+                MultiByteToWideChar( CP_ACP, 0, &ch, 1, &wch, 1);
+                msg32->wParam = wch;
+                break;
             }
             *plparam = (LPARAM)msg32;
             return 1;
@@ -1601,9 +1599,6 @@ LRESULT WINPROC_UnmapMsg16To32W( HWND hw
         if (lParam)
         {
             LPMSG msg32 = (LPMSG)lParam;
-
-            WINPROC_UnmapMsg16To32W( hwnd, msg32->message, msg32->wParam, msg32->lParam,
-                                     result, dispatch );
             HeapFree( GetProcessHeap(), 0, msg32 );
         }
         break;
@@ -2080,17 +2075,12 @@ INT WINPROC_MapMsg32ATo16( HWND hwnd, UI
 
             if (!msg16) return -1;
             msg16->hwnd = HWND_16( msg32->hwnd );
+            msg16->message = msg32->message;
+            msg16->wParam = msg32->wParam;
             msg16->lParam = msg32->lParam;
             msg16->time = msg32->time;
             msg16->pt.x = msg32->pt.x;
             msg16->pt.y = msg32->pt.y;
-            /* this is right, right? */
-            if (WINPROC_MapMsg32ATo16(msg32->hwnd,msg32->message,msg32->wParam,
-                         &msg16->message,&msg16->wParam, &msg16->lParam)<0)
-            {
-                HeapFree( GetProcessHeap(), 0, msg16 );
-                return -1;
-            }
             *plparam = MapLS( msg16 );
             return 1;
         }
@@ -2381,13 +2371,7 @@ void WINPROC_UnmapMsg32ATo16( HWND hwnd,
         if (p16->lParam)
         {
             LPMSG16 msg16 = MapSL(p16->lParam);
-            MSGPARAM16 msgp16;
             UnMapLS( p16->lParam );
-            msgp16.wParam=msg16->wParam;
-            msgp16.lParam=msg16->lParam;
-            WINPROC_UnmapMsg32ATo16(((LPMSG)lParam)->hwnd, ((LPMSG)lParam)->message,
-                    ((LPMSG)lParam)->wParam, ((LPMSG)lParam)->lParam,
-                    &msgp16 );
             HeapFree( GetProcessHeap(), 0, msg16 );
         }
         break;




More information about the wine-cvs mailing list