From efb5b9e11ba15c2ad02ee4fd6a13f00224f5392b Mon Sep 17 00:00:00 2001 From: Robert Colton Date: Sun, 23 Feb 2020 08:35:29 -0500 Subject: [PATCH] Array List Model Update Fix (#484) Fix interval added/removed update events for ArrayListModel. --- org/lateralgm/main/LGM.java | 2 +- org/lateralgm/ui/swing/util/ArrayListModel.java | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/org/lateralgm/main/LGM.java b/org/lateralgm/main/LGM.java index 4dcefc9fe..167b5c2ae 100644 --- a/org/lateralgm/main/LGM.java +++ b/org/lateralgm/main/LGM.java @@ -135,7 +135,7 @@ public final class LGM { - public static final String version = "1.8.98"; //$NON-NLS-1$ + public static final String version = "1.8.99"; //$NON-NLS-1$ // TODO: This list holds the class loader for any loaded plugins which should be // cleaned up and closed when the application closes. diff --git a/org/lateralgm/ui/swing/util/ArrayListModel.java b/org/lateralgm/ui/swing/util/ArrayListModel.java index 4ca2aea02..16d7f2719 100644 --- a/org/lateralgm/ui/swing/util/ArrayListModel.java +++ b/org/lateralgm/ui/swing/util/ArrayListModel.java @@ -83,7 +83,17 @@ public void updated(UpdateEvent e) } else lde = new ListDataEvent(e.source.owner,ListDataEvent.CONTENTS_CHANGED,0,Integer.MAX_VALUE); + for (ListDataListener l : listeners) - l.contentsChanged(lde); + switch (lde.getType()) + { + case ListDataEvent.INTERVAL_ADDED: + l.intervalAdded(lde); + case ListDataEvent.INTERVAL_REMOVED: + l.intervalRemoved(lde); + case ListDataEvent.CONTENTS_CHANGED: + default: + l.contentsChanged(lde); + } } }