oleaut32: Unmarshalled safearray is always unlocked.
This commit is contained in:
parent
a5582d77cf
commit
95416ff904
|
@ -269,7 +269,7 @@ static void test_marshal_LPSAFEARRAY(void)
|
||||||
SafeArrayGetVartype(lpsa, &vt);
|
SafeArrayGetVartype(lpsa, &vt);
|
||||||
SafeArrayGetVartype(lpsa2, &vt2);
|
SafeArrayGetVartype(lpsa2, &vt2);
|
||||||
ok(vt == vt2, "vts differ %x %x\n", vt, vt2);
|
ok(vt == vt2, "vts differ %x %x\n", vt, vt2);
|
||||||
todo_wine ok(lpsa2->cLocks == 0, "got lock count %u, expected 0\n", lpsa2->cLocks);
|
ok(lpsa2->cLocks == 0, "got lock count %u, expected 0\n", lpsa2->cLocks);
|
||||||
init_user_marshal_cb(&umcb, &stub_msg, &rpc_msg, NULL, 0, MSHCTX_DIFFERENTMACHINE);
|
init_user_marshal_cb(&umcb, &stub_msg, &rpc_msg, NULL, 0, MSHCTX_DIFFERENTMACHINE);
|
||||||
LPSAFEARRAY_UserFree(&umcb.Flags, &lpsa2);
|
LPSAFEARRAY_UserFree(&umcb.Flags, &lpsa2);
|
||||||
}
|
}
|
||||||
|
@ -316,7 +316,7 @@ static void test_marshal_LPSAFEARRAY(void)
|
||||||
SafeArrayGetVartype(lpsa, &vt);
|
SafeArrayGetVartype(lpsa, &vt);
|
||||||
SafeArrayGetVartype(lpsa2, &vt2);
|
SafeArrayGetVartype(lpsa2, &vt2);
|
||||||
ok(vt == vt2, "vts differ %x %x\n", vt, vt2);
|
ok(vt == vt2, "vts differ %x %x\n", vt, vt2);
|
||||||
todo_wine ok(lpsa2->cLocks == 0, "got lock count %u, expected 0\n", lpsa2->cLocks);
|
ok(lpsa2->cLocks == 0, "got lock count %u, expected 0\n", lpsa2->cLocks);
|
||||||
init_user_marshal_cb(&umcb, &stub_msg, &rpc_msg, NULL, 0, MSHCTX_DIFFERENTMACHINE);
|
init_user_marshal_cb(&umcb, &stub_msg, &rpc_msg, NULL, 0, MSHCTX_DIFFERENTMACHINE);
|
||||||
LPSAFEARRAY_UserFree(&umcb.Flags, &lpsa2);
|
LPSAFEARRAY_UserFree(&umcb.Flags, &lpsa2);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1085,7 +1085,7 @@ unsigned char * WINAPI LPSAFEARRAY_UserUnmarshal(ULONG *pFlags, unsigned char *B
|
||||||
(*ppsa)->fFeatures |= (wiresa->fFeatures & ~(FADF_AUTOSETFLAGS));
|
(*ppsa)->fFeatures |= (wiresa->fFeatures & ~(FADF_AUTOSETFLAGS));
|
||||||
/* FIXME: there should be a limit on how large wiresa->cbElements can be */
|
/* FIXME: there should be a limit on how large wiresa->cbElements can be */
|
||||||
(*ppsa)->cbElements = elem_mem_size(wiresa, sftype);
|
(*ppsa)->cbElements = elem_mem_size(wiresa, sftype);
|
||||||
(*ppsa)->cLocks = LOWORD(wiresa->cLocks);
|
(*ppsa)->cLocks = 0;
|
||||||
|
|
||||||
/* SafeArrayCreateEx allocates the data for us, but
|
/* SafeArrayCreateEx allocates the data for us, but
|
||||||
* SafeArrayAllocDescriptor doesn't */
|
* SafeArrayAllocDescriptor doesn't */
|
||||||
|
|
Loading…
Reference in New Issue