SF 3377279
- Placed JacobVersion.properties into ${release.dir.java.meta.inf} instead of the current folder;
- com/jacob/test/safearray/SafeArrayBasicTest.java is compiled separately, because it is in UTF-16 encoding
- Added initializing Variant used to retrieve the next value from IEnum because some implemenations call VariantClear on it before setting a new value
- Changed _WIN32_WINNT to 0x0500 to fix build with VS2010
- Fixed the leak in Java_com_jacob_com_Variant_putVariantNoParam
- Added Dispatch.Method to the invoke flags to call _NewEnum. There are some nonconforming legacy implementations that expose _NewEnum as a method.
This commit is contained in:
@@ -57,6 +57,14 @@ Java_com_jacob_com_EnumVariant_Next(JNIEnv* env, jobject _this, jobjectArray var
|
||||
return 0;
|
||||
|
||||
VARIANT* sink = (VARIANT*)CoTaskMemAlloc(count * sizeof(VARIANT));
|
||||
// SF 3377279
|
||||
// Added initializing Variant used to retrieve the next value from IEnum
|
||||
// because some implemenations call VariantClear on it before setting a new value
|
||||
for (ULONG i = 0; i < count; ++i)
|
||||
{
|
||||
VariantInit(sink + i);
|
||||
}
|
||||
|
||||
ULONG fetchCount = 0;
|
||||
|
||||
HRESULT hr = self->Next(count, sink, &fetchCount);
|
||||
|
||||
Reference in New Issue
Block a user