Fixes bug#24113

2005-10-03  Lillian Angel  <[EMAIL PROTECTED]>

        * javax/swing/JOptionPane.java
        (getInputValue): If the option selected is 'Cancel', then
        the input value is set to null.
        (showInternalConfirmDialog): Added check to prevent NPE.
        (showInternalConfirmDialog): Likewise.
        (showInternalConfirmDialog): Likewise.
        (showInternalConfirmDialog): Likewise.
        (showInternalOptionDialog): Likewise.
        (showOptionDialog): Likewise.

Index: javax/swing/JOptionPane.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/JOptionPane.java,v
retrieving revision 1.18
diff -u -r1.18 JOptionPane.java
--- javax/swing/JOptionPane.java	30 Sep 2005 19:13:23 -0000	1.18
+++ javax/swing/JOptionPane.java	3 Oct 2005 15:18:11 -0000
@@ -509,6 +509,8 @@
    */
   public Object getInputValue()
   {
+    if (getValue().equals(new Integer(CANCEL_OPTION)))
+      setInputValue(null);
     return inputValue;
   }
@@ -1124,8 +1126,10 @@
     JInternalFrame frame = pane.createInternalFrame(parentComponent, null);
 
     startModal(frame);
-
-    return ((Integer) pane.getValue()).intValue();
+    
+    if (pane.getValue() instanceof Integer)
+      return ((Integer) pane.getValue()).intValue();
+    return -1;
   }
 
   /**
@@ -1150,7 +1154,9 @@
 
     startModal(frame);
 
-    return ((Integer) pane.getValue()).intValue();
+    if (pane.getValue() instanceof Integer)
+      return ((Integer) pane.getValue()).intValue();
+    return -1;
   }
 
   /**
@@ -1176,7 +1182,9 @@
 
     startModal(frame);
 
-    return ((Integer) pane.getValue()).intValue();
+    if (pane.getValue() instanceof Integer)
+      return ((Integer) pane.getValue()).intValue();
+    return -1;
   }
 
   /**
@@ -1204,7 +1212,9 @@
 
     startModal(frame);
 
-    return ((Integer) pane.getValue()).intValue();
+    if (pane.getValue() instanceof Integer)
+      return ((Integer) pane.getValue()).intValue();
+    return -1;
   }
 
   /**
 
@@ -1380,8 +1390,10 @@
     JInternalFrame frame = pane.createInternalFrame(parentComponent, title);
 
     startModal(frame);
-
-    return ((Integer) pane.getValue()).intValue();
+ 
+    if (pane.getValue() instanceof Integer)
+      return ((Integer) pane.getValue()).intValue();
+    return -1;
   }
 
   /**
@@ -1468,7 +1480,9 @@
     dialog.pack();
     dialog.show();
 
-    return ((Integer) pane.getValue()).intValue();
+    if (pane.getValue() instanceof Integer)
+      return ((Integer) pane.getValue()).intValue();
+    return -1;
   }
 
   /**
_______________________________________________
Classpath-patches mailing list
Classpath-patches@gnu.org
http://lists.gnu.org/mailman/listinfo/classpath-patches

Reply via email to