winebrowser: Educated guess if the DDE data is CHAR or WCHAR (try 2)

Paul Chitescu paulc at voip.null.ro
Mon Dec 8 07:15:45 CST 2008


On Monday 08 December 2008 15:06:32 you wrote:
> "Paul Chitescu" <paulc at voip.null.ro> wrote:
> > Changelog:
> > winebrowser: Educated guess if the DDE data is CHAR or WCHAR
> >
> > Our shell32 dde_connect implementation sends a CHAR buffer for if
> > operating system version is set to ANSI based and WCHAR if the system is
> > set for Unicode.
> >
> > This patch makes winebrowser assume the same about the data it receives
> > via XTYP_EXECUTE. However, if the string starts with a quote (which
> > normally always happens) an extra effort is made to detect if the data is
> > UTF-16 by checking if the upper byte of the 1st WCHAR is zero.
> >
> > This should fix bug #13891 for good (bugzilla describes a workaround that
> > avoids using DDE).
>
> You should add a test case to find out what NT based/Win9x do in that case.

Windows doesn't implement it the simplified way wine's shell32.dll does so a 
test doesn't make sense. Windows DDE clients can send A or W strings over DDE 
and convert them as desired in the DDE server. Wine's DDE just sends the data 
in the buffer with no indication on how to interpret it - that's why the code 
guesses.

Paul



More information about the wine-devel mailing list