bug-classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug swing/24080] JOptionPane.showMessageDialog deadlocks


From: hendrich at informatik dot uni-hamburg dot de
Subject: [Bug swing/24080] JOptionPane.showMessageDialog deadlocks
Date: 30 Sep 2005 13:36:41 -0000

------- Additional Comments From hendrich at informatik dot uni-hamburg dot de  
2005-09-30 13:36 -------
Subject: Re:  JOptionPane.showMessageDialog deadlocks


> I ran the testcase and several similar ones several times, and never ran 
> into a deadlocking problem.
> 

Lillian:

You are right; this does not seem to be a deadlock.
I hacked JOptionPane to create a non-modal resizeable message dialog,
and the PR24080 testcase program indeed stays alive.

However, the message dialog still shows up blank (no message, no OK button). 
The window is repainted (gray background) when I resize the window, but
no components are shown. 

Roman:

Could this be another buglet in BoxLayout, something like the 
components aligned outside the window?

---

Naturally, the non-hacked, non-resizeable modal dialog blocks the application,
and without the OK-button showing there is no way to close the dialog
- which in turn let me to assume a deadlock.


Adding some debug output shows the component hierarchy of the message dialog,
which looks plausible to me:


static private void DUMP( Component c, String indent ) {
  System.out.println( "" + indent + c );
  if (c instanceof Container) {
    Component cc[] = ((Container) c).getComponents();
    for( int i=0; i < cc.length; i++ ) {
      DUMP( cc[i], indent+"   " );
    }
  }
}


YYY   javax.swing.JDialog[JDialog]
YYY      javax.swing.JRootPane[6,23,262x90,translucent,doublebuffered,parent=win
0,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.5,alignmentY=0.5,border=,
maximumSize=java.awt.Dimension[width=262,height=90],minimumSize=java.awt.Dimensi
on[width=262,height=90],preferredSize=java.awt.Dimension[width=262,height=90]]
YYY         javax.swing.JPanel[JPanel]
YYY         javax.swing.JLayeredPane[0,0,262x90,translucent,doublebuffered,paren
t=null,alignmentX=0.5,alignmentY=0.5,border=,maximumSize=java.awt.Dimension[widt
h=2147483647,height=2147483647],minimumSize=java.awt.Dimension[width=262,height=
90],preferredSize=java.awt.Dimension[width=262,height=90]]
YYY            javax.swing.JPanel[JPanel]
YYY               javax.swing.JOptionPane[JOptionPane]
YYY                  javax.swing.JPanel[JPanel]
YYY                     javax.swing.JLabel[JLabel]
YYY                     javax.swing.JPanel[JPanel]
YYY                        javax.swing.JLabel[JLabel]
YYY                  javax.swing.JPanel[JPanel]
YYY                     javax.swing.JButton[93,0,51x26,doublebuffered,parent=nul
l,layout=java.awt.FlowLayout,alignmentX=0.0,alignmentY=0.5,border=javax.swing.pl
address@hidden,maximumSize=java.awt.Dimen
sion[width=51,height=26],minimumSize=java.awt.Dimension[width=51,height=26],pref
erredSize=java.awt.Dimension[width=51,height=26],defaultIcon=,disabledIcon=,disa
bledSelectedIcon=,margin=java.awt.Insets(top=2,bottom=2,left=14,right=14),paintB
order=true,paintFocus=true,pressedIcon=,rolloverEnabled=false,rolloverIcon=,roll
overSelected=,selectedIcon=,text=OK,defaultButton=false,defaultCapable=false]



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24080




reply via email to

[Prev in Thread] Current Thread [Next in Thread]