SUGGESTED FIX
I've the following suggested fix and I discussed it with Calvin Cheung. A lot of testing needs to be done to test the suggested fix to make sure it doesn't break anything else.
JavaAdapter.cpp
DWORD CJavaAdapter::WaitForJS(void *ptr, HANDLE hEvent, DWORD time)
I would need to add code to split the behaviour between modal and non-modal dialogs. This is my proposal.
- Determine if the active window is modal
- If yes, pump windows messages (WM_PAINT ...) to the parent window. It's basically incorporating the code in WaitForJS that existed before fixing 5077565,5079850
- If no, pump the user messages to the parent window (i.e. fallback to the existing code)
###@###.### 2005-03-10 02:15:49 GMT
|
EVALUATION
I am able to reproduce the bug on 1.4.2_07 and is a regression on this release. The bug occurs only in the browser(IE).
- The bug occurs only when you bringup the filedialog by invoking it through
javascript from a html button.
- It doesn't occur when you invoke it through the action listener of a button (say AWT Button) within the applet.
More investigation being done.
###@###.### 2005-2-26 00:06:34 GMT
After further investigation, it's figured out that the bug is a regression introduced from the plugin fix for bugs(5077565,5079850). The main thread (Javascript thread) doesn't receive any windows messages and hence hangs(or sometimes looks hung).
###@###.### 2005-03-02 02:44:04 GMT
Some more analysis done:
- The bug also exists on 1.5.0, 1.5.0_xx.
- The bug is masked in 1.5.0 because the filechooser dialog lost its modality for whatever reasons and hence appeared to work well
- In 1.5.0_u3, the dialog is modal and so the bug is visible again.
There is also a nasty bug that I believe has existed all along (including tiger and 1.5 update releases). Haven't tested with mustang yet.
When the modal dialog is active, click anywhere on the browser (other than the applet region), the browser hangs. The bug is there even in 1.4.2_06 and before.
###@###.### 2005-03-10 02:15:48 GMT
|