Changeset 5302 in josm for trunk


Ignore:
Timestamp:
2012-06-25T22:16:36+02:00 (12 years ago)
Author:
Don-vip
Message:

fix #7756 - NPE in checkboxes creation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/io/ActionFlagsTableCell.java

    r5003 r5302  
    3636 */
    3737class ActionFlagsTableCell extends JPanel implements TableCellRenderer, TableCellEditor {
    38     protected JCheckBox[] checkBoxes = new JCheckBox[2];
     38    protected final JCheckBox[] checkBoxes = new JCheckBox[2];
    3939    private CopyOnWriteArrayList<CellEditorListener> listeners;
    4040
     
    4949        listeners = new CopyOnWriteArrayList<CellEditorListener>();
    5050
    51         setLayout(new GridBagLayout());
    5251        checkBoxes[0] = new JCheckBox(tr("Upload"));
    5352        checkBoxes[1] = new JCheckBox(tr("Save"));
     53        setLayout(new GridBagLayout());
    5454
    5555        ActionMap am = getActionMap();
     
    7171
    7272    protected void updateCheckboxes(Object v) {
    73         boolean[] values;
    74         if(v instanceof SaveLayerInfo) {
    75             values = new boolean[2];
    76             values[0] = ((SaveLayerInfo) v).isDoUploadToServer();
    77             values[1] = ((SaveLayerInfo) v).isDoSaveToFile();
    78         } else {
    79             values = (boolean[]) v;
     73        if (checkBoxes[0] != null && checkBoxes[1] != null) {
     74            boolean[] values;
     75            if(v instanceof SaveLayerInfo) {
     76                values = new boolean[2];
     77                values[0] = ((SaveLayerInfo) v).isDoUploadToServer();
     78                values[1] = ((SaveLayerInfo) v).isDoSaveToFile();
     79            } else {
     80                values = (boolean[]) v;
     81            }
     82            checkBoxes[0].setSelected(values[0]);
     83            checkBoxes[1].setSelected(values[1]);
    8084        }
    81         checkBoxes[0].setSelected(values[0]);
    82         checkBoxes[1].setSelected(values[1]);
    8385    }
    8486
Note: See TracChangeset for help on using the changeset viewer.