Module: wine Branch: master Commit: be14da009afec010a5b08c45e1ef621b5809a39f URL: http://source.winehq.org/git/wine.git/?a=commit;h=be14da009afec010a5b08c45e1...
Author: Jeff Latimer lats@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); }