Module: wine Branch: master Commit: c743f9d0bdfc190d24881e0238aaeb29f5167d49 URL: http://source.winehq.org/git/wine.git/?a=commit;h=c743f9d0bdfc190d24881e0238...
Author: Jeff Latimer lats@yless4u.com.au Date: Sat Jan 24 21:34:44 2009 +1100
user32: DdeCreateStringHandle checks for an invalid instance Id and sets lastError for instances on that thread.
---
dlls/user32/dde_misc.c | 8 ++++++-- dlls/user32/tests/dde.c | 4 ---- 2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/dlls/user32/dde_misc.c b/dlls/user32/dde_misc.c index 2b7fb81..3cbbae8 100644 --- a/dlls/user32/dde_misc.c +++ b/dlls/user32/dde_misc.c @@ -1128,7 +1128,9 @@ HSZ WINAPI DdeCreateStringHandleA(DWORD idInst, LPCSTR psz, INT codepage) TRACE("(%d,%s,%d)\n", idInst, debugstr_a(psz), codepage);
pInstance = WDML_GetInstance(idInst); - if (pInstance) + if (pInstance == NULL) + WDML_SetAllLastError(DMLERR_INVALIDPARAMETER); + else { if (codepage == 0) codepage = CP_WINANSI; hsz = WDML_CreateString(pInstance, psz, codepage); @@ -1155,7 +1157,9 @@ HSZ WINAPI DdeCreateStringHandleW(DWORD idInst, LPCWSTR psz, INT codepage) HSZ hsz = 0;
pInstance = WDML_GetInstance(idInst); - if (pInstance) + if (pInstance == NULL) + WDML_SetAllLastError(DMLERR_INVALIDPARAMETER); + else { if (codepage == 0) codepage = CP_WINUNICODE; hsz = WDML_CreateString(pInstance, psz, codepage); diff --git a/dlls/user32/tests/dde.c b/dlls/user32/tests/dde.c index 01dc529..a60e562 100644 --- a/dlls/user32/tests/dde.c +++ b/dlls/user32/tests/dde.c @@ -1569,18 +1569,14 @@ static void test_DdeCreateDataHandle(void) item = DdeCreateStringHandleA(0, "item", CP_WINANSI); ok(item == NULL, "Expected NULL hsz got %p\n", item); err = DdeGetLastError(dde_inst); - todo_wine ok(err == DMLERR_INVALIDPARAMETER, "Expected DMLERR_INVALIDPARAMETER, got %d\n", err); err = DdeGetLastError(dde_inst2); - todo_wine ok(err == DMLERR_INVALIDPARAMETER, "Expected DMLERR_INVALIDPARAMETER, got %d\n", err); item = DdeCreateStringHandleW(0, item_str, CP_WINUNICODE); ok(item == NULL, "Expected NULL hsz got %p\n", item); err = DdeGetLastError(dde_inst); - todo_wine ok(err == DMLERR_INVALIDPARAMETER, "Expected DMLERR_INVALIDPARAMETER, got %d\n", err); err = DdeGetLastError(dde_inst2); - todo_wine ok(err == DMLERR_INVALIDPARAMETER, "Expected DMLERR_INVALIDPARAMETER, got %d\n", err);
item = DdeCreateStringHandleA(dde_inst, "item", CP_WINANSI);