diff --git a/dlls/user32/dde_client.c b/dlls/user32/dde_client.c index cb9fbc8..78987c5 100644 --- a/dlls/user32/dde_client.c +++ b/dlls/user32/dde_client.c @@ -1163,7 +1163,7 @@ HDDEDATA WINAPI DdeClientTransaction(LPBYTE pData, DWORD cbData, HCONV hConv, HS pXAct = WDML_ClientQueueUnadvise(pConv, wFmt, hszItem); break; case XTYP_REQUEST: - if (pData) + if (pData || !hszItem) { pConv->instance->lastError = DMLERR_INVALIDPARAMETER; return 0; diff --git a/dlls/user32/tests/dde.c b/dlls/user32/tests/dde.c index 61275b8..7e94a1a 100644 --- a/dlls/user32/tests/dde.c +++ b/dlls/user32/tests/dde.c @@ -348,10 +348,7 @@ static void test_ddeml_client(void) ret = DdeGetLastError(client_pid); ok(hdata == NULL, "Expected NULL hdata, got %p\n", hdata); ok(res == 0xdeadbeef, "Expected 0xdeadbeef, got %08x\n", res); - todo_wine - { - ok(ret == DMLERR_INVALIDPARAMETER, "Expected DMLERR_INVALIDPARAMETER, got %d\n", ret); - } + ok(ret == DMLERR_INVALIDPARAMETER, "Expected DMLERR_INVALIDPARAMETER, got %d\n", ret); DdeFreeStringHandle(client_pid, item); -- 1.4.4.2