Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4614641

REGRESSION: showing modal dialog from WindowListener causes lock-up 1.4beta3

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4 P4
    • None
    • 1.4.0
    • client-libs
    • x86
    • windows_nt



      Name: ddT132432 Date: 12/17/2001


      FULL PRODUCT VERSION :
      java version "1.4.0-beta3"
      Java(TM) 2 Runtime Environment, Standard Edition (build
      1.4.0-beta3-b84)
      Java HotSpot(TM) Client VM (build 1.4.0-beta3-b84, mixed
      mode)

      FULL OPERATING SYSTEM VERSION :
      NT 4.0 service pack 5, dual processor
      (Don't have the machine now, so I can't run "ver").


      A DESCRIPTION OF THE PROBLEM :
      Showing a modal dialog box from a JFrame
      WindowListener.windowActivated() causes the application
      to lock up. This happens before the contents of the
      dialog are displayed. This will happen on any window
      activation (not just the first). I don't know if it
      matters, but I'm on a dual-processor machine.

      Not sure if this is swing or awt problem.


      REGRESSION. Last worked in version 1.3.1

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1. Compile and Run my example program.


      EXPECTED VERSUS ACTUAL BEHAVIOR :
      The contents of the dialog should be displayed (the
      "TEST" button). Under 1.4, this does not happen. No
      user input is possible, the application is locked up.


      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------

         import java.awt.event.*;
         import javax.swing.*;

         public class DialogLockup extends JFrame {
            public static void main(String[] args) {
               DialogLockup frame = new DialogLockup();
               frame.addWindowListener(
                     new WindowAdapter() {
                        public void windowActivated(WindowEvente) {
                           JDialog dialog = new JDialog();
                           dialog.setModal(true);
                           dialog.getContentPane().add(new JButton("TEST"));
                           dialog.pack();
                           dialog.setVisible(true);
                        }
                     });
            
               frame.setSize(300, 300);
               frame.setVisible(true);
            }
         }

      ---------- END SOURCE ----------

      CUSTOMER WORKAROUND :
      Use SwingUtilities.invokeLater() to pop up the dialog.

      Release Regression From : 1.3.1
      The above release value was the last known release where this
      bug was knwon to work. Since then there has been a regression.

      (Review ID: 137424)
      ======================================================================

            son Oleg Sukhodolsky (Inactive)
            ddressersunw Daniel Dresser (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: