Ticket #21950: 21950.patch

File 21950.patch, 955 bytes (added by taylor.smock, 3 years ago)

Standalone patch: Avoid loop in MemberTableModel#wayNodesChanged. This decreases UI freeze from ~20s to <1s for Lake Huron. (Same as attachment:21825.avoid_loop_MemberTableModel_wayNodesChanged.patch:ticket:21825 )

  • src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableModel.java

    diff --git a/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableModel.java b/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableModel.java
    index e30270d0d3..1931138b4c 100644
    a b implements TableModelListener, DataSelectionListener, DataSetListener, OsmPrimit  
    177177    public void wayNodesChanged(WayNodesChangedEvent event) {
    178178        if (hasMembersReferringTo(Collections.singleton(event.getChangedWay()))) {
    179179            // refresh connectivity
    180             for (int i = 0; i < members.size(); i++) {
    181                 fireTableCellUpdated(i, 2 /* the column with the connectivity arrow */);
    182             }
     180            fireTableChanged(new TableModelEvent(this, 0, members.size(),
     181                    2 /* The column with the connectivity arrow */));
    183182        }
    184183    }
    185184