Copy link to clipboard
Copied
Please confirm whether this is accurate representation of the Adobe Active X plugin and if so, whether the hard upper limit of 20 has changed in Reader 11.x or above.
After further investigation, it appears that the apparent 20 documents limit is hard coded in adobe acrobat reader activex (at least in 8.x). The ActiveX appears to save a reference to the 20 first opened pdf documents, but not for the others.
With a tool like Spy++, you can see that an invisible top level window named "sw", using the class "static", is created each time you open a new pdf document (i think this point can be linked to Bug #240506 - the userobjects growing can be related to windows created but not destroyed).
If you open less than 20 documents, when the view is destroyed, all the created "sw" windows are destroyed, then the AcroPDF.dll is unloaded and all works fine.
If you open more than 20 documents, when then view is destroyed, only the 20 first "sw" windows are destroyed, the others remain. At some point the AcroPDF.dll is unloaded, then SWT destroys the view window, which in turn destroys child windows, which in turn tries to destroy the remaining "sw" windows.
This is where you got a crash, because Windows is trying to call a window proc located in the previously unloaded AcroPDF.dll.
Copy link to clipboard
Copied
Also wondering if there is a setting that will prevent the acropdf internal cleanup or oncrease the number of referenced wondows to prevent the acropdf.dll_unloaded crash