SF 1662887 protect Dispatch static methods

This commit is contained in:
clay_shooter
2007-02-18 16:11:38 +00:00
parent c63934b4bf
commit fa66c59940
4 changed files with 280 additions and 153 deletions

View File

@@ -13,31 +13,42 @@
</ul>
<h3>Tracked Changes</h3>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" >
<tr>
<td width="100%" colspan="2"><b>Bugs</b></td>
</tr>
<tr>
<td width="13%">1651926 </td>
<td width="87%">ActiveXComponent: getPropertyAsString should call getString() instead of toString()</td>
<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%">&nbsp;</td>
<td width="87%">&nbsp;</td>
<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.</td>
</tr>
<tr>
<td width="13%" valign="top">&nbsp;</td>
<td width="87%" valign="top">&nbsp;</td>
</tr>
<tr>
<td width="100%" colspan="2"><b>Patches</b></td>
</tr>
<tr>
<td width="13%">&nbsp;</td>
<td width="87%">&nbsp;</td>
<td width="13%" valign="top">&nbsp;</td>
<td width="87%" valign="top">&nbsp;</td>
</tr>
<tr>
<td width="100%" colspan="2"><b>Feature Requests</b></td>
</tr>
<tr>
<td width="13%">&nbsp;</td>
<td width="87%">&nbsp;</td>
<td width="13%" valign="top">1662887</td>
<td width="87%" valign="top">Dispatch static methods should throw runtime exceptions when
null is passed in for the Dispatch object and when the Dispatch object is in an invalid state. </td>
</tr>
<tr>
<td width="13%" valign="top">&nbsp;</td>
<td width="87%" valign="top">&nbsp;</td>
</tr>
</table>
@@ -51,42 +62,42 @@ Bug fix release
<td width="100%" colspan="2"><b>Bugs</b></td>
</tr>
<tr>
<td width="13%">1602188</td>
<td width="87%">Variant toString() causes stack overflow for byRef() Variants
<td width="13%" valign="top">1602188</td>
<td width="87%" valign="top">Variant toString() causes stack overflow for byRef() Variants
(This show stopper defect forced the 1.11.1 release)</td>
</tr>
<tr>
<td width="13%">1611487</td>
<td width="87%">Variant toJavaObject() doesn't work for byRef Variables and
<td width="13%" valign="top">1611487</td>
<td width="87%" valign="top">Variant toJavaObject() doesn't work for byRef Variables and
returned the wrong value for unrecognized Variant types.</td>
</tr>
<tr>
<td width="13%">1607878</td>
<td width="87%">Variant getJavaDateRef() fails.</td>
<td width="13%" valign="top">1607878</td>
<td width="87%" valign="top">Variant getJavaDateRef() fails.</td>
</tr>
<tr>
<td width="13%">&nbsp;</td>
<td width="87%">&nbsp;</td>
<td width="13%" valign="top">&nbsp;</td>
<td width="87%" valign="top">&nbsp;</td>
</tr>
<tr>
<td width="100%" colspan="2"><b>Patches</b></td>
</tr>
<tr>
<td width="13%">SF1603631</td>
<td width="87%">Concurrent modification of ROT causes VM crashes. Access
<td width="13%" valign="top">SF1603631</td>
<td width="87%" valign="top">Concurrent modification of ROT causes VM crashes. Access
to the ROT has been sychronized. No performance impact analysis has been done</td>
</tr>
<tr>
<td width="13%">&nbsp;</td>
<td width="87%">&nbsp;</td>
<td width="13%" valign="top">&nbsp;</td>
<td width="87%" valign="top">&nbsp;</td>
</tr>
<tr>
<td width="100%" colspan="2"><b>Feature Requests</b></td>
</tr>
<tr>
<td width="13%">&nbsp;</td>
<td width="87%">&nbsp;</td>
<td width="13%" valign="top">&nbsp;</td>
<td width="87%" valign="top">&nbsp;</td>
</tr>
</table>
@@ -125,61 +136,61 @@ Bug fix release
<td width="100%" colspan="2"><b>Bugs</b></td>
</tr>
<tr>
<td width="13%">1550604</td>
<td width="87%">Build process died with confusing error if version not set in properties file(pre1)</td>
<td width="13%" valign="top">1550604</td>
<td width="87%" valign="top">Build process died with confusing error if version not set in properties file(pre1)</td>
</tr>
<tr>
<td width="13%">1511033</td>
<td width="87%">Fix array index out of bounds problem due to coding error (pre1)</td>
<td width="13%" valign="top">1511033</td>
<td width="87%" valign="top">Fix array index out of bounds problem due to coding error (pre1)</td>
</tr>
<tr>
<td width="13%">1570270 </td>
<td width="87%">~Event method in EventProxy may unhook java thread from VM.
<td width="13%" valign="top">1570270 </td>
<td width="87%" valign="top">~Event method in EventProxy may unhook java thread from VM.
Can get JNI error because unhooking listner detatched Java VM thread (pre1)</td>
</tr>
<tr>
<td width="13%">1538011 </td>
<td width="87%">toString() non compliant with java standards. The toString() method
<td width="13%" valign="top">1538011 </td>
<td width="87%" valign="top">toString() non compliant with java standards. The toString() method
converted the underlying data to a string and it shouldn't. This caused
a rethinking of all toXXX() methods other than toDispatch(). Most of the
toXXX() methods have now been deprecated and should be replaced with getXXX() methods.
(pre1)</td>
</tr>
<tr>
<td width="13%">1478162</td>
<td width="87%">Variant does not warn user if methods called after released.
<td width="13%" valign="top">1478162</td>
<td width="87%" valign="top">Variant does not warn user if methods called after released.
All putXXX() and getXXX() methods now check to see if they've been released
prior to calling the JNI code. toXXX() methods are deprecated but protected
in the same way.(pre1)</td>
</tr>
<tr>
<td width="13%">&nbsp;</td>
<td width="87%">&nbsp;</td>
<td width="13%" valign="top">&nbsp;</td>
<td width="87%" valign="top">&nbsp;</td>
</tr>
<tr>
<td width="100%" colspan="2"><b>Patches</b></td>
</tr>
<tr>
<td width="13%">SF1493647</td>
<td width="87%">Support command line parameter dll location specification.
<td width="13%" valign="top">SF1493647</td>
<td width="87%" valign="top">Support command line parameter dll location specification.
Applets and other tools can now specificy the dll location that
is fed to a System.load() rather than System.loadLibrary for the
situation where the app can't write the dll to a library path directory.(pre1)</td>
</tr>
<tr>
<td width="13%">&nbsp;</td>
<td width="87%">&nbsp;</td>
<td width="13%" valign="top">&nbsp;</td>
<td width="87%" valign="top">&nbsp;</td>
</tr>
<tr>
<td width="100%" colspan="2"><b>Feature Requests</b></td>
</tr>
<tr>
<td width="13%">1580993</td>
<td width="87%">Modify the build process to support 64 bit dll construction(pre2)</td>
<td width="13%" valign="top">1580993</td>
<td width="87%" valign="top">Modify the build process to support 64 bit dll construction(pre2)</td>
</tr>
<tr>
<td width="13%">1550628</td>
<td width="87%">Moved all LoadLibrary requests into LibraryLoader. Classes not subclassed
<td width="13%" valign="top">1550628</td>
<td width="87%" valign="top">Moved all LoadLibrary requests into LibraryLoader. Classes not subclassed
off of JacobObject make calls to a static method on LibraryLoader to make sure
DLL is loaded(pre1)</td>
</tr>
@@ -205,23 +216,23 @@ Bug fix release
<td width="100%" colspan="2"><b>Bugs</b></td>
</tr>
<tr>
<td width="13%">1474474</td>
<td width="87%">Static constants in the Variant class can no longer have SafeRelease() called on them.</td>
<td width="13%" valign="top">1474474</td>
<td width="87%" valign="top">Static constants in the Variant class can no longer have SafeRelease() called on them.</td>
</tr>
<tr>
<td width="13%">1477793</td>
<td width="87%">obj2variant should accept java.util.Date the same way the Variant constructor does</td>
<td width="13%" valign="top">1477793</td>
<td width="87%" valign="top">obj2variant should accept java.util.Date the same way the Variant constructor does</td>
</tr>
<tr>
<td width="13%">&nbsp;</td>
<td width="87%">&nbsp;</td>
<td width="13%" valign="top">&nbsp;</td>
<td width="87%" valign="top">&nbsp;</td>
</tr>
<tr>
<td width="100%" colspan="2"><b>Patches</b></td>
</tr>
<tr>
<td width="13%">&nbsp;</td>
<td width="87%">&nbsp;</td>
<td width="13%" valign="top">&nbsp;</td>
<td width="87%" valign="top">&nbsp;</td>
</tr>
<tr>
<td width="100%" colspan="2"><b>Feature Requests</b></td>
@@ -275,73 +286,73 @@ Bug fix release
<td width="100%" colspan="2"><b>Bugs</b></td>
</tr>
<tr>
<td width="13%">1340233</td>
<td width="87%">Null Program Id in Dispatch Constructor does bad things to VM(pre1)</td>
<td width="13%" valign="top">1340233</td>
<td width="87%" valign="top">Null Program Id in Dispatch Constructor does bad things to VM(pre1)</td>
</tr>
<tr>
<td width="13%">1341763</td>
<td width="87%">Removed Variant serializable interface because it is not
<td width="13%" valign="top">1341763</td>
<td width="87%" valign="top">Removed Variant serializable interface because it is not
actually serializable on 2000/xp(pre1)</td>
</tr>
<tr>
<td width="13%">1435215</td>
<td width="87%">Incorrect memory release in SafeArray.cpp (pre4)
<td width="13%" valign="top">1435215</td>
<td width="87%" valign="top">Incorrect memory release in SafeArray.cpp (pre4)
</tr>
<tr>
<td width="13%">1224219</td>
<td width="87%">Memory leak in SafeArray.GetString()
<td width="13%" valign="top">1224219</td>
<td width="87%" valign="top">Memory leak in SafeArray.GetString()
Olivier Laurent, Software AG Luxembourg and David Pierron, Software AG Luxembourg (pre3)</td>
</tr>
<tr>
<td width="13%">1224219</td>
<td width="87%">Change from UTF to UNICODE SafeArray.fromStringArray()
<td width="13%" valign="top">1224219</td>
<td width="87%" valign="top">Change from UTF to UNICODE SafeArray.fromStringArray()
Olivier Laurent, Software AG Luxembourg and David Pierron, Software AG Luxembourg (pre3)</td>
</tr>
<tr>
<td width="13%">&nbsp;</td>
<td width="87%">&nbsp;</td>
<td width="13%" valign="top">&nbsp;</td>
<td width="87%" valign="top">&nbsp;</td>
</tr>
<tr>
<td width="100%" colspan="2"><b>Patches</b></td>
</tr>
<tr>
<td width="13%">1386454</td>
<td width="87%">Return values from event callbacks (pre3)</td>
<td width="13%" valign="top">1386454</td>
<td width="87%" valign="top">Return values from event callbacks (pre3)</td>
</tr>
<tr>
<td width="13%">1394001</td>
<td width="87%">Missing variable initialization (pre3)</td>
<td width="13%" valign="top">1394001</td>
<td width="87%" valign="top">Missing variable initialization (pre3)</td>
</tr>
<tr>
<td width="13%">1208570</td>
<td width="87%">Support Excel and other objects events(pre1)</td>
<td width="13%" valign="top">1208570</td>
<td width="87%" valign="top">Support Excel and other objects events(pre1)</td>
</tr>
<tr>
<td width="13%">&nbsp;</td>
<td width="87%">&nbsp;</td>
<td width="13%" valign="top">&nbsp;</td>
<td width="87%" valign="top">&nbsp;</td>
</tr>
<tr>
<td width="100%" colspan="2"><b>Feature Requests</b></td>
</tr>
<tr>
<td width="13%">1241037</td>
<td width="87%">Support NULL VT_DISPATCH.(pre2)</td>
<td width="13%" valign="top">1241037</td>
<td width="87%" valign="top">Support NULL VT_DISPATCH.(pre2)</td>
</tr>
<tr>
<td width="13%">1169851 </td>
<td width="87%">Support of VB's Nothing.(pre2)</td>
<td width="13%" valign="top">1169851 </td>
<td width="87%" valign="top">Support of VB's Nothing.(pre2)</td>
</tr>
<tr>
<td width="13%">1185167</td>
<td width="87%">Provide methods to connect to running instance.(pre1)</td>
<td width="13%" valign="top">1185167</td>
<td width="87%" valign="top">Provide methods to connect to running instance.(pre1)</td>
</tr>
<tr>
<td width="13%">959381</td>
<td width="87%">Auto variant to object conversion method method added to Variant.(pre1)</td>
<td width="13%" valign="top">959381</td>
<td width="87%" valign="top">Auto variant to object conversion method method added to Variant.(pre1)</td>
</tr>
<tr>
<td width="13%">1341779</td>
<td width="87%">Variant should accept java.util.Date in Variant(Object) constructor(pre1)</td>
<td width="13%" valign="top">1341779</td>
<td width="87%" valign="top">Variant should accept java.util.Date in Variant(Object) constructor(pre1)</td>
</tr>
</table>
@@ -386,38 +397,38 @@ Bug fix release
<td width="100%" colspan="2"><b>Bugs</b></td>
</tr>
<tr>
<td width="13%">1335897 </td>
<td width="87%">SafeArray() called toString() on objects when debug was turned on</td>
<td width="13%" valign="top">1335897 </td>
<td width="87%" valign="top">SafeArray() called toString() on objects when debug was turned on</td>
</tr>
<tr>
<td width="13%">&nbsp;</td>
<td width="87%">&nbsp;</td>
<td width="13%" valign="top">&nbsp;</td>
<td width="87%" valign="top">&nbsp;</td>
</tr>
<tr>
<td width="100%" colspan="2"><b>Patches</b></td>
</tr>
<tr>
<td width="13%">1314116 </td>
<td width="87%"> putString UNICODE string length not detected</td>
<td width="13%" valign="top">1314116 </td>
<td width="87%" valign="top"> putString UNICODE string length not detected</td>
</tr>
<tr>
<td width="13%">&nbsp;</td>
<td width="87%">&nbsp;</td>
<td width="13%" valign="top">&nbsp;</td>
<td width="87%" valign="top">&nbsp;</td>
</tr>
<tr>
<td width="100%" colspan="2"><b>Feature Requests</b></td>
</tr>
<tr>
<td width="13%">1264850</td>
<td width="87%">Custom Event Dispatching</td>
<td width="13%" valign="top">1264850</td>
<td width="87%" valign="top">Custom Event Dispatching</td>
</tr>
<tr>
<td width="13%">959382</td>
<td width="87%">Time Conversion</td>
<td width="13%" valign="top">959382</td>
<td width="87%" valign="top">Time Conversion</td>
</tr>
<tr>
<td width="13%">1313892 </td>
<td width="87%">Multi-Dimensional SafeArray</td>
<td width="13%" valign="top">1313892 </td>
<td width="87%" valign="top">Multi-Dimensional SafeArray</td>
</tr>
</table>
@@ -538,90 +549,90 @@ running this from inside of Eclipse</li>
<td width="100%" colspan="2"><b>Bugs</b></td>
</tr>
<tr>
<td width="13%">1116101</td>
<td width="87%">jacob-msg 0284 : Access Violation while garbage collecting</td>
<td width="13%" valign="top">1116101</td>
<td width="87%" valign="top">jacob-msg 0284 : Access Violation while garbage collecting</td>
</tr>
<tr>
<td width="13%">1114159</td>
<td width="87%">Problem with COM Error Trapping in JACOB DLL</td>
<td width="13%" valign="top">1114159</td>
<td width="87%" valign="top">Problem with COM Error Trapping in JACOB DLL</td>
</tr>
<tr>
<td width="13%">1113610</td>
<td width="87%">Bad error check in SafeArray.cpp</td>
<td width="13%" valign="top">1113610</td>
<td width="87%" valign="top">Bad error check in SafeArray.cpp</td>
</tr>
<tr>
<td width="13%">1066698</td>
<td width="87%">Minor Memory leak in Dispatch.cpp</td>
<td width="13%" valign="top">1066698</td>
<td width="87%" valign="top">Minor Memory leak in Dispatch.cpp</td>
</tr>
<tr>
<td width="13%">1065533</td>
<td width="87%">Problem with unicode conversion</td>
<td width="13%" valign="top">1065533</td>
<td width="87%" valign="top">Problem with unicode conversion</td>
</tr>
<tr>
<td width="13%">1053871</td>
<td width="87%">solution for memory leak in 1.7</td>
<td width="13%" valign="top">1053871</td>
<td width="87%" valign="top">solution for memory leak in 1.7</td>
</tr>
<tr>
<td width="13%">1053870</td>
<td width="87%">JACOB0msg 2019 - Safe Array</td>
<td width="13%" valign="top">1053870</td>
<td width="87%" valign="top">JACOB0msg 2019 - Safe Array</td>
</tr>
<tr>
<td width="13%">1053866</td>
<td width="87%">getHResult only returns 80020009</td>
<td width="13%" valign="top">1053866</td>
<td width="87%" valign="top">getHResult only returns 80020009</td>
</tr>
<tr>
<td width="13%">960646</td>
<td width="87%">But in SafeArray:: getBoolean for 2D arrays</td>
<td width="13%" valign="top">960646</td>
<td width="87%" valign="top">But in SafeArray:: getBoolean for 2D arrays</td>
</tr>
<tr>
<td width="13%">&nbsp;</td>
<td width="87%">&nbsp;</td>
<td width="13%" valign="top">&nbsp;</td>
<td width="87%" valign="top">&nbsp;</td>
</tr>
<tr>
<td width="100%" colspan="2"><b>Patches</b></td>
</tr>
<tr>
<td width="13%">1115187</td>
<td width="87%">EventCallbacks fail w/Variant ClassNotFoundException in JWS</td>
<td width="13%" valign="top">1115187</td>
<td width="87%" valign="top">EventCallbacks fail w/Variant ClassNotFoundException in JWS</td>
</tr>
<tr>
<td width="13%">1105915</td>
<td width="87%">Fix for event handling memory corruption</td>
<td width="13%" valign="top">1105915</td>
<td width="87%" valign="top">Fix for event handling memory corruption</td>
</tr>
<tr>
<td width="13%">1090104</td>
<td width="87%">Weak Reference in teh ROT</td>
<td width="13%" valign="top">1090104</td>
<td width="87%" valign="top">Weak Reference in teh ROT</td>
</tr>
<tr>
<td width="13%">1068544</td>
<td width="87%">in/out parameter support for event handlers</td>
<td width="13%" valign="top">1068544</td>
<td width="87%" valign="top">in/out parameter support for event handlers</td>
</tr>
<tr>
<td width="13%">981540</td>
<td width="87%">jre 1.4.2 fix as patch</td>
<td width="13%" valign="top">981540</td>
<td width="87%" valign="top">jre 1.4.2 fix as patch</td>
</tr>
<tr>
<td width="13%">&nbsp;</td>
<td width="87%">&nbsp;</td>
<td width="13%" valign="top">&nbsp;</td>
<td width="87%" valign="top">&nbsp;</td>
</tr>
<tr>
<td width="100%" colspan="2"><b>Feature Requests</b></td>
</tr>
<tr>
<td width="13%">1049390</td>
<td width="87%">static Version information</td>
<td width="13%" valign="top">1049390</td>
<td width="87%" valign="top">static Version information</td>
</tr>
<tr>
<td width="13%">1049224</td>
<td width="87%">Javadocs or at least script to generate it</td>
<td width="13%" valign="top">1049224</td>
<td width="87%" valign="top">Javadocs or at least script to generate it</td>
</tr>
<tr>
<td width="13%">1049158</td>
<td width="87%">API to get ProgId of ActiveXComponent</td>
<td width="13%" valign="top">1049158</td>
<td width="87%" valign="top">API to get ProgId of ActiveXComponent</td>
</tr>
<tr>
<td width="13%">&nbsp;</td>
<td width="87%">&nbsp;</td>
<td width="13%" valign="top">&nbsp;</td>
<td width="87%" valign="top">&nbsp;</td>
</tr>
</table>