Jeff Latimer : user32: Pass pConv to WDML_Global2DataHandle so that it can be correcly passed to DdeCreateDataHandle .

Alexandre Julliard julliard at winehq.org
Wed Jan 21 06:39:48 CST 2009


Module: wine
Branch: master
Commit: be14da009afec010a5b08c45e1ef621b5809a39f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=be14da009afec010a5b08c45e1ef621b5809a39f

Author: Jeff Latimer <lats at yless4u.com.au>
Date:   Tue Jan 20 23:04:32 2009 +1100

user32: Pass pConv to WDML_Global2DataHandle so that it can be correcly passed to DdeCreateDataHandle.

---

 dlls/user32/dde_client.c  |    4 ++--
 dlls/user32/dde_misc.c    |    6 +++---
 dlls/user32/dde_private.h |    2 +-
 dlls/user32/dde_server.c  |    2 +-
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/dlls/user32/dde_client.c b/dlls/user32/dde_client.c
index c052b83..12856cc 100644
--- a/dlls/user32/dde_client.c
+++ b/dlls/user32/dde_client.c
@@ -527,7 +527,7 @@ static WDML_QUEUE_STATE WDML_HandleRequestReply(WDML_CONV* pConv, MSG* msg, WDML
 	if (DdeCmpStringHandles(hsz, pXAct->hszItem) != 0)
 	    return WDML_QS_PASS;
 
-	pXAct->hDdeData = WDML_Global2DataHandle((HGLOBAL)uiLo, &wdh);
+	pXAct->hDdeData = WDML_Global2DataHandle(pConv, (HGLOBAL)uiLo, &wdh);
 	if (wdh.fRelease)
 	{
 	    GlobalFree((HGLOBAL)uiLo);
@@ -850,7 +850,7 @@ static WDML_QUEUE_STATE WDML_HandleIncomingData(WDML_CONV* pConv, MSG* msg, HDDE
     UnpackDDElParam(WM_DDE_DATA, msg->lParam, &uiLo, &uiHi);
     hsz = WDML_MakeHszFromAtom(pConv->instance, uiHi);
 
-    hDdeDataIn = WDML_Global2DataHandle((HGLOBAL)uiLo, &wdh);
+    hDdeDataIn = WDML_Global2DataHandle(pConv, (HGLOBAL)uiLo, &wdh);
 
     /* billx:
      *  For hot link, data should be passed to its callback with
diff --git a/dlls/user32/dde_misc.c b/dlls/user32/dde_misc.c
index 2f69e84..89a6bb0 100644
--- a/dlls/user32/dde_misc.c
+++ b/dlls/user32/dde_misc.c
@@ -1479,7 +1479,7 @@ BOOL WDML_IsAppOwned(HDDEDATA hData)
  *	2	   16	clipboard format
  *	4	   ?	data to be used
  */
-HDDEDATA        WDML_Global2DataHandle(HGLOBAL hMem, WINE_DDEHEAD* p)
+HDDEDATA        WDML_Global2DataHandle(WDML_CONV* pConv, HGLOBAL hMem, WINE_DDEHEAD* p)
 {
     DDEDATA*    pDd;
     HDDEDATA	ret = 0;
@@ -1500,7 +1500,7 @@ HDDEDATA        WDML_Global2DataHandle(HGLOBAL hMem, WINE_DDEHEAD* p)
                 /* fall thru */
             case 0:
             case CF_TEXT:
-                ret = DdeCreateDataHandle(0, pDd->Value, size, 0, 0, pDd->cfFormat, 0);
+                ret = DdeCreateDataHandle(pConv->instance->instanceID, pDd->Value, size, 0, 0, pDd->cfFormat, 0);
                 break;
             case CF_BITMAP:
                 if (size >= sizeof(BITMAP))
@@ -1515,7 +1515,7 @@ HDDEDATA        WDML_Global2DataHandle(HGLOBAL hMem, WINE_DDEHEAD* p)
                                                  bmp->bmPlanes, bmp->bmBitsPixel,
                                                  pDd->Value + sizeof(BITMAP))))
                         {
-                            ret = DdeCreateDataHandle(0, (LPBYTE)&hbmp, sizeof(hbmp),
+                            ret = DdeCreateDataHandle(pConv->instance->instanceID, (LPBYTE)&hbmp, sizeof(hbmp),
                                                       0, 0, CF_BITMAP, 0);
                         }
                         else ERR("Can't create bmp\n");
diff --git a/dlls/user32/dde_private.h b/dlls/user32/dde_private.h
index 19e15b9..ed88ce3 100644
--- a/dlls/user32/dde_private.h
+++ b/dlls/user32/dde_private.h
@@ -232,7 +232,7 @@ extern	void		WDML_FreeTransaction(WDML_INSTANCE* pInstance, WDML_XACT* pXAct, BO
 extern	WDML_XACT*	WDML_FindTransaction(WDML_CONV* pConv, DWORD tid) DECLSPEC_HIDDEN;
 extern	HGLOBAL		WDML_DataHandle2Global(HDDEDATA hDdeData, BOOL fResponse, BOOL fRelease,
 					       BOOL fDeferUpd, BOOL dAckReq) DECLSPEC_HIDDEN;
-extern	HDDEDATA	WDML_Global2DataHandle(HGLOBAL hMem, WINE_DDEHEAD* da) DECLSPEC_HIDDEN;
+extern	HDDEDATA	WDML_Global2DataHandle(WDML_CONV* pConv, HGLOBAL hMem, WINE_DDEHEAD* da) DECLSPEC_HIDDEN;
 extern  BOOL            WDML_IsAppOwned(HDDEDATA hDdeData) DECLSPEC_HIDDEN;
 extern	WDML_INSTANCE*	WDML_GetInstance(DWORD InstId) DECLSPEC_HIDDEN;
 extern	WDML_INSTANCE*	WDML_GetInstanceFromWnd(HWND hWnd) DECLSPEC_HIDDEN;
diff --git a/dlls/user32/dde_server.c b/dlls/user32/dde_server.c
index f2bb8b6..52adb9a 100644
--- a/dlls/user32/dde_server.c
+++ b/dlls/user32/dde_server.c
@@ -772,7 +772,7 @@ static	WDML_QUEUE_STATE WDML_ServerHandleExecute(WDML_CONV* pConv, WDML_XACT* pX
 
 	if (ptr)
 	{
-	    hDdeData = DdeCreateDataHandle(0, ptr, GlobalSize(pXAct->hMem),
+	    hDdeData = DdeCreateDataHandle(pConv->instance->instanceID, ptr, GlobalSize(pXAct->hMem),
 					   0, 0, CF_TEXT, 0);
 	    GlobalUnlock(pXAct->hMem);
 	}




More information about the wine-cvs mailing list