Changeset 18793 in josm for trunk/src/org/openstreetmap


Ignore:
Timestamp:
2023-08-07T19:39:39+02:00 (12 months ago)
Author:
taylor.smock
Message:

Fix #23091: Opening a preset from inside a relation editor causes a DataIntegrityProblemException

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java

    r18413 r18793  
    124124    private final TagEditorPanel tagEditorPanel;
    125125    private final ReferringRelationsBrowser referrerBrowser;
    126     private final ReferringRelationsBrowserModel referrerModel;
    127126
    128127    /** the member table and its model */
     
    154153    private final SelectAction selectAction;
    155154    /**
    156      * Action for performing the {@link DuplicateRelationAction}
    157      */
    158     private final DuplicateRelationAction duplicateAction;
    159     /**
    160      * Action for performing the {@link DeleteCurrentRelationAction}
    161      */
    162     private final DeleteCurrentRelationAction deleteAction;
    163     /**
    164      * Action for performing the {@link OKAction}
    165      */
    166     private final OKAction okAction;
    167     /**
    168155     * Action for performing the {@link CancelAction}
    169156     */
     
    175162
    176163    private Component selectedTabPane;
    177     private JTabbedPane tabbedPane;
     164    private final JTabbedPane tabbedPane;
    178165
    179166    /**
    180167     * Creates a new relation editor for the given relation. The relation will be saved if the user
    181168     * selects "ok" in the editor.
    182      *
     169     * <p>
    183170     * If no relation is given, will create an editor for a new relation.
    184171     *
     
    202189            @Override
    203190            public Collection<OsmPrimitive> getSelection() {
    204                 Relation relation = new Relation();
    205                 tagEditorPanel.getModel().applyToPrimitive(relation);
    206                 return Collections.<OsmPrimitive>singletonList(relation);
     191                return Collections.singletonList(getRelation());
    207192            }
    208193        };
     
    214199        selectionTableModel = new SelectionTableModel(getLayer());
    215200        selectionTableModel.register();
    216         referrerModel = new ReferringRelationsBrowserModel(relation);
     201        ReferringRelationsBrowserModel referrerModel = new ReferringRelationsBrowserModel(relation);
    217202
    218203        tagEditorPanel = new TagEditorPanel(relation, presetHandler);
     
    271256        applyAction = new ApplyAction(actionAccess);
    272257        selectAction = new SelectAction(actionAccess);
    273         duplicateAction = new DuplicateRelationAction(actionAccess);
    274         deleteAction = new DeleteCurrentRelationAction(actionAccess);
     258        // Action for performing the {@link DuplicateRelationAction}
     259        final DuplicateRelationAction duplicateAction = new DuplicateRelationAction(actionAccess);
     260        // Action for performing the {@link DeleteCurrentRelationAction}
     261        final DeleteCurrentRelationAction deleteAction = new DeleteCurrentRelationAction(actionAccess);
    275262
    276263        this.memberTableModel.addTableModelListener(applyAction);
     
    279266        addPropertyChangeListener(deleteAction);
    280267
    281         okAction = new OKAction(actionAccess);
     268        // Action for performing the {@link OKAction}
     269        final OKAction okAction = new OKAction(actionAccess);
    282270        cancelAction = new CancelAction(actionAccess);
    283271
     
    518506     * @return the panel for the relation member editor
    519507     */
    520     protected static JPanel buildMemberEditorPanel(
     508    static JPanel buildMemberEditorPanel(
    521509            LeftButtonToolbar leftButtonToolbar, IRelationEditorActionAccess editorAccess) {
    522510        final JPanel pnl = new JPanel(new GridBagLayout());
Note: See TracChangeset for help on using the changeset viewer.