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

fp.bugs 3510 Win32 menu with separator causes page fault when disabled

XMLWordPrintable

    • 1.0.2
    • sparc
    • solaris_2.5
    • Not verified

      >From: Ott Robert <###@###.###>
      This does not look like form output to me.


      Hi,
      I experienced a illegal exception fault under Windows 95 that can be
      reproduced by running the code below.

      BUG - REPORT
      ============

      1. Seems to be a bug, there is even no Java error handler called when this
         error occurs.

      2. Java Development Kit

      3. JDK-V1.0 (with java interpreter)

      4. When I try to enable/disable all Items of a Menu and there is a separator
         in it, the system crashes without any java exception handler.

      5. Hardware : IBM compatible PC 486-DX2/66, 8MB Ram
         Operating System: Windows 95
         
      6. Just running with Java interpreter

      7. Run the program below with $ java MenuBug
         and then press the 'bug' button.

      8. No error message, just directly a Win95 exception

      9. No trace information, just directly a Win95 exception


      //---------------------------------------------------------------------------
      // Sample program that causes an illegal exception on Windows 95
      //
      // Robert Ott => ###@###.###
      //---------------------------------------------------------------------------
      import java.lang.*;
      import java.awt.*;
       
      public class MenuBug extends Frame {
        Button bugMenuButton = new Button("Create the BUG");
        Menu bugMenu = new Menu("BUG-Menu");
       
        MenuBug() {
          super("Demonstration of 'Menu-disable' bug");
          MenuBar b = new MenuBar();
          bugMenu.add("Item 1");
          bugMenu.add("Item 2");
          bugMenu.addSeparator();
          bugMenu.add("Item 3");
          bugMenu.add("Item 4");
          b.add(bugMenu);
          setMenuBar(b);
          bugMenuButton.reshape(80, 100, 140, 23);
          add(bugMenuButton);
          resize(300, 140);
        }
       
        public void disableAll() {
          for(int i = 0; i < bugMenu.countItems(); i++) {
            bugMenu.getItem(i).disable();
          }
        }
       
        public boolean action(Event evt, Object what) {
          if (evt.target.equals(bugMenuButton)) {
            disableAll();
            return true;
          }
          return super.action(evt, what);
        }
       
        static public void main(String args[]) {
          new MenuBug().show();
        }
      }


            tballsunw Tom Ball (Inactive)
            bhagen Benjamin Hagen (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: