diff --git a/src/share/classes/sun/tools/jconsole/VMPanel.java b/src/share/classes/sun/tools/jconsole/VMPanel.java index ec403d5d3b8f5cbd61ef3d5e8557811a5a86dd38..86d2fc5d10b7462a6423d3a89ca9ef3a158f5791 100644 --- a/src/share/classes/sun/tools/jconsole/VMPanel.java +++ b/src/share/classes/sun/tools/jconsole/VMPanel.java @@ -55,6 +55,7 @@ public class VMPanel extends JTabbedPane implements PropertyChangeListener { private VMInternalFrame vmIF = null; private static ArrayList tabInfos = new ArrayList(); private boolean wasConnected = false; + private boolean userDisconnected = false; // The everConnected flag keeps track of whether the window can be // closed if the user clicks Cancel after a failed connection attempt. @@ -125,6 +126,7 @@ public class VMPanel extends JTabbedPane implements PropertyChangeListener { if (connectedIconBounds != null && (e.getModifiers() & MouseEvent.BUTTON1_MASK) != 0 && connectedIconBounds.contains(e.getPoint())) { if (isConnected()) { + userDisconnected = true; disconnect(); wasConnected = false; } else { @@ -452,6 +454,11 @@ public class VMPanel extends JTabbedPane implements PropertyChangeListener { private void vmPanelDied() { disconnect(); + if (userDisconnected) { + userDisconnected = false; + return; + } + JOptionPane optionPane; String msgTitle, msgExplanation, buttonStr;