user32: Pass pConv to WDML_Global2DataHandle so that it can be correcly passed to DdeCreateDataHandle.
This commit is contained in:
parent
ebc2c74f7c
commit
be14da009a
|
@ -527,7 +527,7 @@ static WDML_QUEUE_STATE WDML_HandleRequestReply(WDML_CONV* pConv, MSG* msg, WDML
|
||||||
if (DdeCmpStringHandles(hsz, pXAct->hszItem) != 0)
|
if (DdeCmpStringHandles(hsz, pXAct->hszItem) != 0)
|
||||||
return WDML_QS_PASS;
|
return WDML_QS_PASS;
|
||||||
|
|
||||||
pXAct->hDdeData = WDML_Global2DataHandle((HGLOBAL)uiLo, &wdh);
|
pXAct->hDdeData = WDML_Global2DataHandle(pConv, (HGLOBAL)uiLo, &wdh);
|
||||||
if (wdh.fRelease)
|
if (wdh.fRelease)
|
||||||
{
|
{
|
||||||
GlobalFree((HGLOBAL)uiLo);
|
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);
|
UnpackDDElParam(WM_DDE_DATA, msg->lParam, &uiLo, &uiHi);
|
||||||
hsz = WDML_MakeHszFromAtom(pConv->instance, uiHi);
|
hsz = WDML_MakeHszFromAtom(pConv->instance, uiHi);
|
||||||
|
|
||||||
hDdeDataIn = WDML_Global2DataHandle((HGLOBAL)uiLo, &wdh);
|
hDdeDataIn = WDML_Global2DataHandle(pConv, (HGLOBAL)uiLo, &wdh);
|
||||||
|
|
||||||
/* billx:
|
/* billx:
|
||||||
* For hot link, data should be passed to its callback with
|
* For hot link, data should be passed to its callback with
|
||||||
|
|
|
@ -1479,7 +1479,7 @@ BOOL WDML_IsAppOwned(HDDEDATA hData)
|
||||||
* 2 16 clipboard format
|
* 2 16 clipboard format
|
||||||
* 4 ? data to be used
|
* 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;
|
DDEDATA* pDd;
|
||||||
HDDEDATA ret = 0;
|
HDDEDATA ret = 0;
|
||||||
|
@ -1500,7 +1500,7 @@ HDDEDATA WDML_Global2DataHandle(HGLOBAL hMem, WINE_DDEHEAD* p)
|
||||||
/* fall thru */
|
/* fall thru */
|
||||||
case 0:
|
case 0:
|
||||||
case CF_TEXT:
|
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;
|
break;
|
||||||
case CF_BITMAP:
|
case CF_BITMAP:
|
||||||
if (size >= sizeof(BITMAP))
|
if (size >= sizeof(BITMAP))
|
||||||
|
@ -1515,7 +1515,7 @@ HDDEDATA WDML_Global2DataHandle(HGLOBAL hMem, WINE_DDEHEAD* p)
|
||||||
bmp->bmPlanes, bmp->bmBitsPixel,
|
bmp->bmPlanes, bmp->bmBitsPixel,
|
||||||
pDd->Value + sizeof(BITMAP))))
|
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);
|
0, 0, CF_BITMAP, 0);
|
||||||
}
|
}
|
||||||
else ERR("Can't create bmp\n");
|
else ERR("Can't create bmp\n");
|
||||||
|
|
|
@ -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 WDML_XACT* WDML_FindTransaction(WDML_CONV* pConv, DWORD tid) DECLSPEC_HIDDEN;
|
||||||
extern HGLOBAL WDML_DataHandle2Global(HDDEDATA hDdeData, BOOL fResponse, BOOL fRelease,
|
extern HGLOBAL WDML_DataHandle2Global(HDDEDATA hDdeData, BOOL fResponse, BOOL fRelease,
|
||||||
BOOL fDeferUpd, BOOL dAckReq) DECLSPEC_HIDDEN;
|
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 BOOL WDML_IsAppOwned(HDDEDATA hDdeData) DECLSPEC_HIDDEN;
|
||||||
extern WDML_INSTANCE* WDML_GetInstance(DWORD InstId) DECLSPEC_HIDDEN;
|
extern WDML_INSTANCE* WDML_GetInstance(DWORD InstId) DECLSPEC_HIDDEN;
|
||||||
extern WDML_INSTANCE* WDML_GetInstanceFromWnd(HWND hWnd) DECLSPEC_HIDDEN;
|
extern WDML_INSTANCE* WDML_GetInstanceFromWnd(HWND hWnd) DECLSPEC_HIDDEN;
|
||||||
|
|
|
@ -772,7 +772,7 @@ static WDML_QUEUE_STATE WDML_ServerHandleExecute(WDML_CONV* pConv, WDML_XACT* pX
|
||||||
|
|
||||||
if (ptr)
|
if (ptr)
|
||||||
{
|
{
|
||||||
hDdeData = DdeCreateDataHandle(0, ptr, GlobalSize(pXAct->hMem),
|
hDdeData = DdeCreateDataHandle(pConv->instance->instanceID, ptr, GlobalSize(pXAct->hMem),
|
||||||
0, 0, CF_TEXT, 0);
|
0, 0, CF_TEXT, 0);
|
||||||
GlobalUnlock(pXAct->hMem);
|
GlobalUnlock(pXAct->hMem);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue