Alexandre Julliard : user: Call the A version of message functions from 16-bit code.

Alexandre Julliard julliard at wine.codeweavers.com
Sat May 20 11:22:35 CDT 2006


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Sat May 20 16:35:44 2006 +0200

user: Call the A version of message functions from 16-bit code.
    
This avoids having to export too many different message translation
functions.

---

 dlls/user/msg16.c |   25 ++++++++++++-------------
 1 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/dlls/user/msg16.c b/dlls/user/msg16.c
index e8b9d4c..a5b0f0c 100644
--- a/dlls/user/msg16.c
+++ b/dlls/user/msg16.c
@@ -91,10 +91,10 @@ BOOL16 WINAPI PostMessage16( HWND16 hwnd
     UINT msg32;
     HWND hwnd = WIN_Handle32( hwnd16 );
 
-    switch (WINPROC_MapMsg16To32W( hwnd, msg, wparam, &msg32, &wparam32, &lparam ))
+    switch (WINPROC_MapMsg16To32A( hwnd, msg, wparam, &msg32, &wparam32, &lparam ))
     {
     case 0:
-        return PostMessageW( hwnd, msg32, wparam32, lparam );
+        return PostMessageA( hwnd, msg32, wparam32, lparam );
     case 1:
         ERR( "16-bit message 0x%04x contains pointer, cannot post\n", msg );
         return FALSE;
@@ -114,10 +114,10 @@ BOOL16 WINAPI PostAppMessage16( HTASK16 
     DWORD tid = HTASK_32( hTask );
     if (!tid) return FALSE;
 
-    switch (WINPROC_MapMsg16To32W( 0, msg, wparam, &msg32, &wparam32, &lparam ))
+    switch (WINPROC_MapMsg16To32A( 0, msg, wparam, &msg32, &wparam32, &lparam ))
     {
     case 0:
-        return PostThreadMessageW( tid, msg32, wparam32, lparam );
+        return PostThreadMessageA( tid, msg32, wparam32, lparam );
     case 1:
         ERR( "16-bit message %x contains pointer, cannot post\n", msg );
         return FALSE;
@@ -157,7 +157,7 @@ BOOL16 WINAPI PeekMessage32_16( MSG32_16
 
     if(USER16_AlertableWait)
         MsgWaitForMultipleObjectsEx( 0, NULL, 1, 0, MWMO_ALERTABLE );
-    if (!PeekMessageW( &msg, hwnd, first, last, flags )) return FALSE;
+    if (!PeekMessageA( &msg, hwnd, first, last, flags )) return FALSE;
 
     msg16->msg.hwnd    = HWND_16( msg.hwnd );
     msg16->msg.lParam  = msg.lParam;
@@ -166,7 +166,7 @@ BOOL16 WINAPI PeekMessage32_16( MSG32_16
     msg16->msg.pt.y    = (INT16)msg.pt.y;
     if (wHaveParamHigh) msg16->wParamHigh = HIWORD(msg.wParam);
 
-    return (WINPROC_MapMsg32WTo16( msg.hwnd, msg.message, msg.wParam,
+    return (WINPROC_MapMsg32ATo16( msg.hwnd, msg.message, msg.wParam,
                                    &msg16->msg.message, &msg16->msg.wParam,
                                    &msg16->msg.lParam ) != -1);
 }
@@ -288,7 +288,7 @@ BOOL16 WINAPI GetMessage32_16( MSG32_16 
     {
         if(USER16_AlertableWait)
             MsgWaitForMultipleObjectsEx( 0, NULL, INFINITE, 0, MWMO_ALERTABLE );
-        GetMessageW( &msg, hwnd, first, last );
+        GetMessageA( &msg, hwnd, first, last );
         msg16->msg.hwnd    = HWND_16( msg.hwnd );
         msg16->msg.lParam  = msg.lParam;
         msg16->msg.time    = msg.time;
@@ -296,7 +296,7 @@ BOOL16 WINAPI GetMessage32_16( MSG32_16 
         msg16->msg.pt.y    = (INT16)msg.pt.y;
         if (wHaveParamHigh) msg16->wParamHigh = HIWORD(msg.wParam);
     }
-    while (WINPROC_MapMsg32WTo16( msg.hwnd, msg.message, msg.wParam,
+    while (WINPROC_MapMsg32ATo16( msg.hwnd, msg.message, msg.wParam,
                                   &msg16->msg.message, &msg16->msg.wParam,
                                   &msg16->msg.lParam ) == -1);
 
@@ -419,11 +419,10 @@ BOOL16 WINAPI IsDialogMessage16( HWND16 
     case WM_KEYDOWN:
     case WM_CHAR:
     case WM_SYSCHAR:
-        msg.lParam = msg16->lParam;
-        WINPROC_MapMsg16To32W( msg.hwnd, msg16->message, msg16->wParam,
-                               &msg.message, &msg.wParam, &msg.lParam );
-        /* these messages don't need an unmap */
-        return IsDialogMessageW( hwndDlg32, &msg );
+        msg.message = msg16->message;
+        msg.wParam  = msg16->wParam;
+        msg.lParam  = msg16->lParam;
+        return IsDialogMessageA( hwndDlg32, &msg );
     }
 
     if ((hwndDlg32 != msg.hwnd) && !IsChild( hwndDlg32, msg.hwnd )) return FALSE;




More information about the wine-cvs mailing list