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

REGRESSION: InternalFromesDemo hangs after NPE in GTK Look& Feel

    • b25
    • sparc
    • solaris_10
    • Verified

      JDK : JDK1.5.0 b22 SWAT
      Platform[s] : Solaris sparc 10, 9 gnome/cde
      switch/Mode : -client -Xmixed

      How to reproduce:
      =================
      1. launch SwingSet2 demo by running bin/java -jar demo/jfc/SwingSet2/*jar
      2. In InternalFromesDemo. Change to "GTK Style Look & Feel"
      3. Maximize any Frame. Then, minize the frame. The following NPE is shown:
      java.lang.NullPointerException
      at com.sun.java.swing.plaf.gtk.Metacity.getInt(Metacity.java:778)
      at com.sun.java.swing.plaf.gtk.Metacity.setFrameGeometry(Metacity.java:772)
      at com.sun.java.swing.plaf.gtk.Metacity.paintFrameBorder(Metacity.java:363)
      at com.sun.java.swing.plaf.gtk.GTKPainter.paintDesktopIconBorder(GTKPainter.java:257)
      at javax.swing.plaf.synth.SynthDesktopIconUI.paintBorder(SynthDesktopIconUI.java:111)
      at javax.swing.plaf.synth.SynthBorder.paintBorder(SynthBorder.java:45)
      at javax.swing.JComponent.paintBorder(JComponent.java:865)
      at javax.swing.JComponent.paint(JComponent.java:968)
      at javax.swing.JComponent.paintChildren(JComponent.java:804)
      at javax.swing.JComponent.paint(JComponent.java:976)
      at javax.swing.JLayeredPane.paint(JLayeredPane.java:560)
      at javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4761)
      at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4714)
      at javax.swing.JComponent._paintImmediately(JComponent.java:4657)
      at javax.swing.JComponent.paintImmediately(JComponent.java:4464)
      at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:410)
      at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:117)
      at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:201)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
      at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:214)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

      4. Then, click on close. The following Exception show:
      java.lang.NullPointerException
      at com.sun.java.swing.plaf.gtk.Metacity.getInt(Metacity.java:778)
      at com.sun.java.swing.plaf.gtk.Metacity.calculateButtonSize(Metacity.java:966)
      at com.sun.java.swing.plaf.gtk.Metacity.calculateTitleArea(Metacity.java:991)
      at com.sun.java.swing.plaf.gtk.Metacity.paintFrameBorder(Metacity.java:330)
      at com.sun.java.swing.plaf.gtk.GTKPainter.paintInternalFrameBorder(GTKPainter.java:247)
      at javax.swing.plaf.synth.SynthInternalFrameUI.paintBorder(SynthInternalFrameUI.java:137)
      at javax.swing.plaf.synth.SynthBorder.paintBorder(SynthBorder.java:45)
      at javax.swing.JComponent.paintBorder(JComponent.java:865)
      at javax.swing.JComponent.paint(JComponent.java:968)
      at javax.swing.JComponent.paintChildren(JComponent.java:804)
      at javax.swing.JComponent.paint(JComponent.java:976)
      at javax.swing.JLayeredPane.paint(JLayeredPane.java:560)
      at javax.swing.JComponent.paintChildren(JComponent.java:804)
      at javax.swing.JComponent.paint(JComponent.java:976)
      at javax.swing.JComponent.paintChildren(JComponent.java:804)
      at javax.swing.JComponent.paint(JComponent.java:976)
      at javax.swing.JComponent.paintChildren(JComponent.java:804)
      at javax.swing.JComponent.paint(JComponent.java:976)
      at javax.swing.JComponent.paintChildren(JComponent.java:804)
      at javax.swing.JComponent.paint(JComponent.java:976)
      at javax.swing.JComponent.paintChildren(JComponent.java:804)
      at javax.swing.JComponent.paint(JComponent.java:976)
      at javax.swing.JComponent.paintChildren(JComponent.java:804)
      at javax.swing.JComponent.paint(JComponent.java:976)
      at javax.swing.JLayeredPane.paint(JLayeredPane.java:560)
      at javax.swing.JComponent.paintChildren(JComponent.java:804)
      at javax.swing.JComponent.paint(JComponent.java:976)
      at javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4761)
      at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4714)
      at javax.swing.JComponent._paintImmediately(JComponent.java:4657)
      at javax.swing.JComponent.paintImmediately(JComponent.java:4464)
      at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:410)
      at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:117)
      at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:201)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
      at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:214)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
      java.lang.NullPointerException
      at com.sun.java.swing.plaf.gtk.Metacity.getInt(Metacity.java:778)
      at com.sun.java.swing.plaf.gtk.Metacity.calculateButtonSize(Metacity.java:966)
      at com.sun.java.swing.plaf.gtk.Metacity.calculateTitleArea(Metacity.java:991)
      at com.sun.java.swing.plaf.gtk.Metacity.paintFrameBorder(Metacity.java:330)
      at com.sun.java.swing.plaf.gtk.GTKPainter.paintInternalFrameBorder(GTKPainter.java:247)
      at javax.swing.plaf.synth.SynthInternalFrameUI.paintBorder(SynthInternalFrameUI.java:137)
      at javax.swing.plaf.synth.SynthBorder.paintBorder(SynthBorder.java:45)
      at javax.swing.JComponent.paintBorder(JComponent.java:865)
      at javax.swing.JComponent.paint(JComponent.java:968)
      at javax.swing.JComponent.paintChildren(JComponent.java:804)
      at javax.swing.JComponent.paint(JComponent.java:976)
      at javax.swing.JLayeredPane.paint(JLayeredPane.java:560)
      at javax.swing.JComponent.paintChildren(JComponent.java:804)
      at javax.swing.JComponent.paint(JComponent.java:976)
      at javax.swing.JComponent.paintChildren(JComponent.java:804)
      at javax.swing.JComponent.paint(JComponent.java:976)
      at javax.swing.JComponent.paintChildren(JComponent.java:804)
      at javax.swing.JComponent.paint(JComponent.java:976)
      at javax.swing.JComponent.paintChildren(JComponent.java:804)


      After these NPE, swithing to other demo is fine. However, InternalFromesDemo becomes unavailable even in other Look and Feel.


      Tested machines:
      =================
      1. hiltonlv# cat /etc/release
                                   Solaris 10 s10_40 SPARC
                 Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
                              Use is subject to license terms.
                                  Assembled 11 August 2003

      2. parislv % cat /etc/release
                              Solaris 9 8/03 s9s_u4wos_08a SPARC
                 Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
                              Use is subject to license terms.
                                   Assembled 13 June 2003

      ###@###.### 2003-10-01

            leifs Leif Samuelsson (Inactive)
            schien Suchen Chien (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: