Ignore:
Timestamp:
2011-05-04T07:09:56+02:00 (13 years ago)
Author:
jttt
Message:

Fix #6301 Check for null mandatory in TableCellRenderer.getTableCellRendererComponent

Location:
trunk/src/org/openstreetmap/josm/gui/conflict
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTableCellRenderer.java

    r3083 r4072  
    164164        Node node = (Node)value;
    165165        reset();
     166        if (value == null)
     167            return this;
    166168        switch(column) {
    167169        case 0:
  • trunk/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberTableCellRenderer.java

    r3844 r4072  
    88
    99import javax.swing.BorderFactory;
    10 import javax.swing.ImageIcon;
    1110import javax.swing.JLabel;
    1211import javax.swing.JTable;
     
    165164        RelationMember member = (RelationMember)value;
    166165        reset();
     166        if (value == null)
     167            return this;
     168
    167169        renderBackground(getModel(table), member, row, column, isSelected);
    168170        renderForeground(getModel(table), member, row, column, isSelected);
  • trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeTableCellRenderer.java

    r3083 r4072  
    2626
    2727        reset();
     28        if (value == null)
     29            return this;
     30
    2831        TagMergeItem item = (TagMergeItem)value;
    2932        switch(col) {
  • trunk/src/org/openstreetmap/josm/gui/conflict/tags/MultiValueCellRenderer.java

    r3083 r4072  
    4444        } else{
    4545            switch(decision.getDecisionType()) {
    46                 case UNDECIDED:
    47                     setForeground(UIManager.getColor("Table.foreground"));
    48                     setBackground(BGCOLOR_UNDECIDED);
    49                     break;
    50                 case KEEP_NONE:
    51                     setForeground(UIManager.getColor("Panel.foreground"));
    52                     setBackground(UIManager.getColor("Panel.background"));
    53                     break;
    54                 default:
    55                     setForeground(UIManager.getColor("Table.foreground"));
    56                     setBackground(UIManager.getColor("Table.background"));
    57                     break;
     46            case UNDECIDED:
     47                setForeground(UIManager.getColor("Table.foreground"));
     48                setBackground(BGCOLOR_UNDECIDED);
     49                break;
     50            case KEEP_NONE:
     51                setForeground(UIManager.getColor("Panel.foreground"));
     52                setBackground(UIManager.getColor("Panel.background"));
     53                break;
     54            default:
     55                setForeground(UIManager.getColor("Table.foreground"));
     56                setBackground(UIManager.getColor("Table.background"));
     57                break;
    5858            }
    5959        }
     
    6363        model.removeAllElements();
    6464        switch(decision.getDecisionType()) {
    65             case UNDECIDED:
    66                 model.addElement(tr("Choose a value"));
    67                 setFont(getFont().deriveFont(Font.ITALIC));
    68                 setToolTipText(tr("Please decide which values to keep"));
    69                 cbDecisionRenderer.setSelectedIndex(0);
    70                 break;
    71             case KEEP_ONE:
    72                 model.addElement(decision.getChosenValue());
    73                 setToolTipText(tr("Value ''{0}'' is going to be applied for key ''{1}''", decision.getChosenValue(), decision.getKey()));
    74                 cbDecisionRenderer.setSelectedIndex(0);
    75                 break;
    76             case KEEP_NONE:
    77                 model.addElement(tr("deleted"));
    78                 setFont(getFont().deriveFont(Font.ITALIC));
    79                 setToolTipText(tr("The key ''{0}'' and all its values are going to be removed", decision.getKey()));
    80                 cbDecisionRenderer.setSelectedIndex(0);
    81                 break;
    82             case KEEP_ALL:
    83                 model.addElement(decision.getChosenValue());
    84                 setToolTipText(tr("All values joined as ''{0}'' are going to be applied for key ''{1}''", decision.getChosenValue(), decision.getKey()));
    85                 cbDecisionRenderer.setSelectedIndex(0);
    86                 break;
     65        case UNDECIDED:
     66            model.addElement(tr("Choose a value"));
     67            setFont(getFont().deriveFont(Font.ITALIC));
     68            setToolTipText(tr("Please decide which values to keep"));
     69            cbDecisionRenderer.setSelectedIndex(0);
     70            break;
     71        case KEEP_ONE:
     72            model.addElement(decision.getChosenValue());
     73            setToolTipText(tr("Value ''{0}'' is going to be applied for key ''{1}''", decision.getChosenValue(), decision.getKey()));
     74            cbDecisionRenderer.setSelectedIndex(0);
     75            break;
     76        case KEEP_NONE:
     77            model.addElement(tr("deleted"));
     78            setFont(getFont().deriveFont(Font.ITALIC));
     79            setToolTipText(tr("The key ''{0}'' and all its values are going to be removed", decision.getKey()));
     80            cbDecisionRenderer.setSelectedIndex(0);
     81            break;
     82        case KEEP_ALL:
     83            model.addElement(decision.getChosenValue());
     84            setToolTipText(tr("All values joined as ''{0}'' are going to be applied for key ''{1}''", decision.getChosenValue(), decision.getKey()));
     85            cbDecisionRenderer.setSelectedIndex(0);
     86            break;
    8787        }
    8888    }
     
    9898
    9999        reset();
     100        if (value == null)
     101            return this;
     102
    100103        MultiValueResolutionDecision decision = (MultiValueResolutionDecision)value;
    101104        renderColors(decision,isSelected);
    102105        switch(column) {
    103             case 0:
    104                 if (decision.isDecided()) {
    105                     setIcon(iconDecided);
    106                 } else {
    107                     setIcon(iconUndecided);
    108                 }
    109                 return this;
     106        case 0:
     107            if (decision.isDecided()) {
     108                setIcon(iconDecided);
     109            } else {
     110                setIcon(iconUndecided);
     111            }
     112            return this;
    110113
    111             case 1:
    112                 setText(decision.getKey());
    113                 return this;
     114        case 1:
     115            setText(decision.getKey());
     116            return this;
    114117
    115             case 2:
    116                 renderValue(decision);
    117                 return cbDecisionRenderer;
     118        case 2:
     119            renderValue(decision);
     120            return cbDecisionRenderer;
    118121        }
    119122        return this;
  • trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java

    r3501 r4072  
    478478                boolean hasFocus, int row, int column) {
    479479            reset();
     480            if (value == null)
     481                return this;
     482
    480483            if (row == 0) {
    481484                setFont(getFont().deriveFont(Font.BOLD));
  • trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictDecisionRenderer.java

    r3083 r4072  
    4747            int row, int column) {
    4848        resetTableRenderer();
     49        if (value == null)
     50            return this;
     51
    4952        if (isSelected) {
    5053            setBackground(UIManager.getColor("Table.selectionBackground"));
Note: See TracChangeset for help on using the changeset viewer.