SF 1674179 enum variant leak. also affects 1112667 1465539 1569864
This commit is contained in:
@@ -19,7 +19,7 @@
|
||||
The file for MS Visual C++ 6.0 building only the 32 bit version
|
||||
(the only version available through 1.11) looks something like:
|
||||
|
||||
JDK=d:/j2sdk1.4.2_09
|
||||
JDK=d:/j2sdk1.4.2_13
|
||||
MSDEVDIR=d:\\apps\\Microsoft Visual Studio\\VC98
|
||||
version=1.11-pre2
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
compilation_tools.properties in this situation should look
|
||||
something like:
|
||||
|
||||
JDK=d:/j2sdk1.4.2_09
|
||||
JDK=d:/j2sdk1.4.2_13
|
||||
MSDEVDIR=d:\\apps\\Microsoft Visual Studio\\VC98
|
||||
MSSDKDIR=D:\\Apps\\Microsoft Platform SDK for Windows Server 2003 R2
|
||||
version=1.11-pre2
|
||||
|
||||
@@ -21,11 +21,23 @@
|
||||
<td width="13%" valign="top">1651926 </td>
|
||||
<td width="87%" valign="top">ActiveXComponent: getPropertyAsString should call getString() instead of toString()</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%" valign="top">1569864 </td>
|
||||
<td width="87%" valign="top">IEnumVariant leak fixed in patch 1674179</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%" valign="top">1112667</td>
|
||||
<td width="87%" valign="top">IEnumVariant leak fixed in patch 1674179</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%" valign="top">1465539</td>
|
||||
<td width="87%" valign="top">IEnumVariant leak fixed in patch 1674179</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%" valign="top">1504120 </td>
|
||||
<td width="87%" valign="top">Microsoft 2003 Server crashes. Server crashes on MS 2003 Server have been reported over time.
|
||||
Some users have had say that Jacob must be built on MS2003 Server to run reliably.
|
||||
The Jacob distribution on Sourceforge is built on Windows XP SP2 (this item is soley informationional)</td>
|
||||
The Jacob distribution on Sourceforge is built on Windows XP SP2 (No code change. Just a documentation updat)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%" valign="top"> </td>
|
||||
@@ -40,6 +52,10 @@
|
||||
in hashmap. This causes objects to be garbage finalized when they shouldn't be resulting in vm failures
|
||||
with large (large) numbers of objects. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%" valign="top">1674179</td>
|
||||
<td width="87%" valign="top">Fixed Enum leaks with EnumVariants in Variant.cpp and EnumVariant.cpp</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%" valign="top"> </td>
|
||||
<td width="87%" valign="top"> </td>
|
||||
|
||||
@@ -81,6 +81,10 @@ Java_com_jacob_com_EnumVariant_Next(JNIEnv* env, jobject _this, jobjectArray var
|
||||
VariantCopy(v, sink + idx);
|
||||
env->SetObjectArrayElement(vars, idx, newVariant);
|
||||
env->DeleteLocalRef(newVariant);
|
||||
//Sourceforge-1674179 fix memory leak
|
||||
// Variants received while iterating IEnumVARIANT must be cleared when no longer needed
|
||||
// The variant has been copied so no longer needed
|
||||
VariantClear(sink);
|
||||
}
|
||||
CoTaskMemFree(sink);
|
||||
return (jint)fetchCount;
|
||||
|
||||
@@ -181,7 +181,9 @@ JNIEXPORT jobject JNICALL Java_com_jacob_com_Variant_toEnumVariant
|
||||
return NULL;
|
||||
}
|
||||
// I am copying the pointer to java
|
||||
if (ie) ie->AddRef();
|
||||
// SF-1674179 fix EnumVariants memory leak
|
||||
// AJ: yes, but the QueryInterface call above already incremented the reference
|
||||
//if (ie) ie->AddRef();
|
||||
jobject newAuto = env->NewObject(autoClass, autoCons, ie);
|
||||
return newAuto;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user