winebrowser: Interpret the DDE data as CHAR or WCHAR just like the shell32 dde_connect helper sends it

Paul Chitescu paulc at voip.null.ro
Fri Dec 5 10:20:33 CST 2008


On Friday 05 December 2008 16:33:04 Hans Leidekker wrote:
> On Friday 05 December 2008 15:17:47 Paul Chitescu wrote:
> > The problem is not about the service name or other identifiers but rather
> > the obscure data pushed by the DdeClientTransaction. DDE knows nothing
> > about the format of this data as this is rather a convention between the
> > client (shell32) and the server (winebrowser).
>
> But is it safe to assume that shell32 is the only client of winebrowser?
>
>   -Hans

The few examples I've found for direct IE invocation pass a HDDEDATA handle 
created by DdeCreateStringHandle (a HSZ). Wine's implementation seems to 
simply get the data and length from the data and send it over DDE (in 
WDML_ClientQueueExecute). No idea if string type is preserved in Windows.

The fact winebrowser doesn't crash suggest no program is doing 
DdeClientTransaction directly ;-) although it may be possible that 
winebrowser just prints this warning message which my patch fixes:

Unabled to retrieve URL from string L"\""

LOL!

We could easily guess if the data received by winebrowser has the wrong 
character size since normally the 1st character is a quote. However this 
doesn't look clean to me.

Paul



More information about the wine-devel mailing list