winebrowser: Interpret the DDE data as CHAR or WCHAR just like the shell32 dde_connect helper sends it
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?
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"\""
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.
More information about the wine-devel