user32: Resend: Move character conversion logic to dde_server.d & remove todo's

Jeff Latimer lats at yless4u.com.au
Fri Jan 23 19:35:32 CST 2009


I have resubmitted this patch for discussion purposes.

For DDEML the conversion of data from or to UNICODE is done at the 
receiving end.  This patch moves the conversion code from dde_client to 
dde_server.  Testing of the permutations of server/client/data is or is 
not UNICODE leads me to believe that either Windows guesses that the 
received data is UNICODE by testing it for UNICODE attributes or there 
is a back door function called.  Hence this patch checks the data and 
accepts the result as to whether the data is UNICODE.

I have tested this a number of ways and I can not see a mechanism that 
DDE can determine whether data passed is UNICODE (pData is of type 
LPBYTE).  In my tests, the case  of the server uses a UNICODE window it 
is immaterial as to the type of window the client uses but is dependent 
on the type of data passed. ---
  dlls/user32/dde_client.c |   64 
++++++++-------------------------------------
  dlls/user32/dde_server.c |   43 ++++++++++++++++++++++++++++++-
  dlls/user32/tests/dde.c  |   31 +++++-----------------
  3 files changed, 61 insertions(+), 77 deletions(-)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: be372f5d19fcb33f95bd13d6f59c1bc9bd24de5b.diff
Type: text/x-patch
Size: 8906 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20090124/6e3a91e1/attachment-0001.bin 


More information about the wine-patches mailing list