codeweavers' DDE patch
Eric Pouech
pouech-eric at wanadoo.fr
Sat May 24 06:05:32 CDT 2003
Hi Dmitry,
regarding the DDE related patch that Alexandre committed a couple of
days ago from codeweavers' tree
(http://cvs.winehq.com/patch.py?root=/home/winehq/opt/cvs-commit&id=8293),
I have a couple of questions:
1/
diff -u wine/dlls/user/dde/server.c:1.11 wine/dlls/user/dde/server.c:1.12
--- wine/dlls/user/dde/server.c:1.11 Sat May 24 10:42:52 2003
+++ wine/dlls/user/dde/server.c Sat May 24 10:42:52 2003
@@ -101,7 +101,7 @@
if (DdeCmpStringHandles(hszItem, pLink->hszItem) == 0)
{
hDdeData = WDML_InvokeCallback(pInstance, XTYP_ADVREQ,
pLink->uFmt, pLink->hConv,
- hszTopic, hszItem, 0, count--, 0);
+ hszTopic, hszItem, 0, 0, 0);
if (hDdeData == (HDDEDATA)CBR_BLOCK)
{
why did you remove the count-- reference as dwData1 ?
MSDN states:
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/dataexchange/dynamicdataexchangemanagementlibrary/dynamicdataexchangemanagementreference/dynamicdataexchangemanagementtransactions/xtyp_advreq.asp)
Specifies the count, in the low-order word, of XTYP_ADVREQ transactions
that remain to be processed on the same topic, item, and format name set
within the context of the current call to the DdePostAdvise function.
The count is zero if the current XTYP_ADVREQ transaction is the last
one. A server can use this count to determine whether to create an
HDATA_APPOWNED data handle for the advise data.
2/
Index: wine/dlls/user/dde/server.c
diff -u wine/dlls/user/dde/server.c:1.11 wine/dlls/user/dde/server.c:1.12
--- wine/dlls/user/dde/server.c:1.11 Sat May 24 10:42:52 2003
+++ wine/dlls/user/dde/server.c Sat May 24 10:42:52 2003
@@ -570,7 +581,7 @@
break;
default:
{
- HGLOBAL hMem = WDML_DataHandle2Global(hDdeData, FALSE, FALSE,
FALSE, FALSE);
+ HGLOBAL hMem = WDML_DataHandle2Global(hDdeData, TRUE, TRUE, FALSE,
FALSE);
if (!PostMessageA(pConv->hwndClient, WM_DDE_DATA,
(WPARAM)pConv->hwndServer,
ReuseDDElParam(pXAct->lParam, WM_DDE_REQUEST, WM_DDE_DATA,
(UINT)hMem, (UINT)pXAct->atom)))
which did you change fResponse (or fAckReq) and fRelease to TRUE ?
since the server side isn't ready to handle the ack messages the client
will in such cases, I'm not sure it's worth it. Moreover, it will
complexify the memory management and create more leaks than already exist.
A+
--
Eric Pouech
More information about the wine-devel
mailing list