Alexandre Julliard : user: Added fast A->
W mapping for WM_GETTEXT and WM_ASKCBFORNAME.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon May 22 05:19:05 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: 91b278b8119eb251440bde325fbf44568666eb1b
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=91b278b8119eb251440bde325fbf44568666eb1b
Author: Alexandre Julliard <julliard at winehq.org>
Date: Sat May 20 18:53:16 2006 +0200
user: Added fast A->W mapping for WM_GETTEXT and WM_ASKCBFORNAME.
---
dlls/user/winproc.c | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/dlls/user/winproc.c b/dlls/user/winproc.c
index 0dfdf77..a693fe7 100644
--- a/dlls/user/winproc.c
+++ b/dlls/user/winproc.c
@@ -2689,6 +2689,25 @@ LRESULT WINPROC_CallProcAtoW( winproc_ca
}
break;
+ case WM_GETTEXT:
+ case WM_ASKCBFORMATNAME:
+ {
+ WCHAR *ptr, buffer[512];
+ LPSTR str = (LPSTR)lParam;
+ DWORD len = wParam * sizeof(WCHAR);
+
+ if (!(ptr = get_buffer( buffer, sizeof(buffer), len ))) break;
+ ret = callback( hwnd, msg, wParam, (LPARAM)ptr, result, arg );
+ if (*result && wParam)
+ {
+ RtlUnicodeToMultiByteN( str, wParam - 1, &len, ptr, strlenW(ptr) * sizeof(WCHAR) );
+ str[len] = 0;
+ *result = len;
+ }
+ free_buffer( buffer, ptr );
+ }
+ break;
+
default:
if( (unmap = WINPROC_MapMsg32ATo32W( hwnd, msg, &wParam, &lParam )) == -1) {
ERR_(msg)("Message translation failed. (msg=%s,wp=%08x,lp=%08lx)\n",
More information about the wine-cvs
mailing list