Commit aaa93200 authored by Dan Kegel's avatar Dan Kegel Committed by Alexandre Julliard

user32: Implement return value for DdeClientTransaction for XTYP_EXECUTE.

parent 6ff78347
......@@ -985,6 +985,15 @@ static WDML_QUEUE_STATE WDML_HandleReply(WDML_CONV* pConv, MSG* msg, HDDEDATA* h
case WM_DDE_TERMINATE:
qs = WDML_HandleIncomingTerminate(pConv, msg, hdd);
break;
case WM_DDE_ACK:
/* This happens at end of DdeClientTransaction XTYP_EXECUTE
* Without this assignment, DdeClientTransaction's return value is undefined
* See also http://support.microsoft.com/kb/102574
*/
*hdd = (HDDEDATA)TRUE;
if (ack)
*ack = DDE_FACK;
break;
}
break;
case WDML_QS_BLOCK:
......
......@@ -414,11 +414,8 @@ static void test_ddeml_client(void)
op = DdeClientTransaction((LPBYTE)hdata, -1, conversation, NULL, 0, XTYP_EXECUTE, default_timeout, &res);
ret = DdeGetLastError(client_pid);
ok(ret == DMLERR_NO_ERROR, "Expected DMLERR_NO_ERROR, got %d\n", ret);
todo_wine
{
ok(op == (HDDEDATA)TRUE, "Expected TRUE, got %p\n", op);
ok(res == DDE_FACK, "Expected DDE_FACK, got %d\n", res);
}
ok(op == (HDDEDATA)TRUE, "Expected TRUE, got %p\n", op);
ok(res == DDE_FACK, "Expected DDE_FACK, got %d\n", res);
/* XTYP_EXECUTE, no data */
res = 0xdeadbeef;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment