Run the applet below and press "call dialog" button.
This creates a modal dialog and a new browser window.
Close the new browser window using the mouse (click "X" at the right upper corner).
Result: This window does not exit completely and remains in a "zombie" state. You can see the window in the task bar, but if you click on it, it does not come up.
The only way to get rid of this window is to kill IE in the task manager.
Reproducible with the latest 5.0u7 build. This doesn't happen on 1.4.2
TC05-01_Top.html
----------------
<APPLET CODE="SampleApplet.class" WIDTH=300 HEIGHT=220>
<PARAM NAME="PAGE" VALUE="TC05-01_Top.html">
</APPLET>
SampleApplet.java
-----------------
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
import java.net.URL;
public class SampleApplet extends JApplet{
private JButton jButton1 = new JButton();
public SampleApplet() {
}
public void init() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
jButton1.setBounds(new Rectangle(56, 98, 135, 38));
jButton1.setText("Call Dialog");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
jButton1_actionPerformed(e);
}
});
this.getContentPane().setLayout(null);
this.setSize(new Dimension(400,300));
this.getContentPane().add(jButton1, null);
}
public void start() {
}
public void stop() {
}
public void destroy() {
}
void jButton1_actionPerformed(ActionEvent e) {
String strOption[] = new String[2];
strOption[0] = "OK";
strOption[1] = "Cancel";
(new ThreadX(this)).start();
JOptionPane.showOptionDialog(this, "Hello", "Hello", JOptionPane.DEFAULT_OPTION,
JOptionPane.PLAIN_MESSAGE, null, strOption, strOption[0]);
}
class ThreadX extends Thread{
SampleApplet jap = null;
ThreadX(SampleApplet jap){
this.jap = jap;
}
public void run(){
try {
Thread.sleep(1000);
this.jap.getAppletContext().showDocument(new URL(this.jap.getCodeBase()+this.jap.getParameter("PAGE")), "_blank");
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}
}
Added two attachements for this zombie windows before and after it happened. (tested with 5u7-b02/XP-pro(sp2) (windows_before_zombie.bmp/windows_zombie_at_close.bmp)