Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 4234266
Votes 0
Synopsis AWT component : MenuItem throw NullPointer exception.
Category java:classes_awt
Reported Against kestrel
Release Fixed 1.3(kestrel)
State 10-Fix Delivered, Verified, bug
Priority: 3-Medium
Related Bugs 4234637 , 4276866
Submit Date 30-APR-1999
Description
In kestrel build A, B,
  
   Run TDC testtool, "AWTTester", throw exception:

java.lang.NullPointerException
        at sun.awt.motif.MMenuItemPeer.setLabel(MMenuItemPeer.java, Compiled Code)
        at java.awt.MenuItem.setLabel(MenuItem.java, Compiled Code)
        at tools.awttester.AWTMenu.setTestContent(AWTMenu.java, Compiled Code)
        at tools.awttester.AWTMenuBar.setTestContent(AWTMenuBar.java, Compiled Code)
        at tools.awttester.AWTTesterFrame.setTestContent(AWTTesterFrame.java, Compiled Code)
        at tools.awttester.AWTTesterFrame.configure(AWTTesterFrame.java, Compiled Code)
        at tools.awttester.AWTTester.configure(AWTTester.java, Compiled Code)
        at tools.awttester.AWTTester.doTest(AWTTester.java, Compiled Code)
        at tools.awttester.AWTTester.autotest(AWTTester.java, Compiled Code)
        at tools.utility.TestDriver.run(TestDriver.java, Compiled Code)
        at java.lang.Thread.run(Thread.java, Compiled Code)
Work Around
N/A
Evaluation
Commit to fix - Kestrel
 xxxxx@xxxxx  1999-05-21


 xxxxx@xxxxx  1999-05-25  xxxxx@xxxxx  ==========================
  The bug could be easely reproduced (under Solaris only) using the
  following testcase: 
   import java.awt.*; 
   public class Test {
       public static void main( String[] args ) {
           Frame frame = new Frame();
           Menu menu = new Menu("Menu");
           MenuItem mi = new MenuItem("Item");
           MenuBar mb = new MenuBar();
           menu.add(mi);
           mb.add(menu);
           frame.setMenuBar(mb);
           frame.pack();
           mi.setLabel("new label");
       }
   }

  The problem is that MMenuItemPeer.setLabel does not check for null
  while calling target.getShortcut:
    public void setLabel(String label) {      
        if (!nativeCreated) {
            return;
        }
        pSetLabel(label);
        setShortcut(target.getShortcut().toString());
                    ^^^^^^^^^^^^^^^^^^^^
    }

  Bug occurs only when peers were already created because when peer is
  null we do not set shortcut for the item. 
 xxxxx@xxxxx  1999-05-25 ================================================
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang