Changeset 18454 in josm for trunk/src/org


Ignore:
Timestamp:
2022-05-19T20:09:13+02:00 (2 years ago)
Author:
taylor.smock
Message:

Fix #21558: IOOBE in NotesDialog$NoteTableModel.getElementAt

This is caused when a user has a filter in the note panel,
and performs an action that removes the last note from
the panel.

Example:

  1. User filters on "open"
  2. User closes all notes
File:
1 edited

Legend:

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

    r18208 r18454  
    408408                int selectedIndex = displayList.getSelectedIndex();
    409409                noteData.closeNote(note, dialog.getInputText());
    410                 noteData.setSelectedNote(model.getElementAt(selectedIndex));
     410                // This is required since filtering may cause the model to not have any visible elements
     411                if (model.getSize() > 0) {
     412                    noteData.setSelectedNote(model.getElementAt(selectedIndex));
     413                } else {
     414                    noteData.setSelectedNote(null);
     415                }
    411416            }
    412417        }
Note: See TracChangeset for help on using the changeset viewer.