I have created a patch for the InfoModel class so that it does not 
actually remove the features for a Layer until after it has notified the 
listeners. This enables the listeners to get the features that are going 
to be removed.

Can people have  quick look and see if their plugins would be affected 
by this change before I check-in.

Paul

Index: C:/Documents and Settings/paustin/My 
Documents/workspace/openjump/src/com/vividsolutions/jump/workbench/ui/InfoModel.java
===================================================================
--- C:/Documents and Settings/paustin/My 
Documents/workspace/openjump/src/com/vividsolutions/jump/workbench/ui/InfoModel.java
    
(revision 887)
+++ C:/Documents and Settings/paustin/My 
Documents/workspace/openjump/src/com/vividsolutions/jump/workbench/ui/InfoModel.java
    
(working copy)
@@ -92,8 +92,6 @@
 
     public void remove(Layer layer) {
         LayerTableModel layerTableModel = getTableModel(layer);
-        ((LayerTableModel) layerToTableModelMap.get(layer)).dispose();
-        layerToTableModelMap.remove(layer);
 
         for (Iterator i = listeners.iterator(); i.hasNext();) {
             InfoModelListener listener = (InfoModelListener) i.next();
@@ -99,6 +97,8 @@
             InfoModelListener listener = (InfoModelListener) i.next();
             listener.layerRemoved(layerTableModel);
         }
+        ((LayerTableModel) layerToTableModelMap.get(layer)).dispose();
+        layerToTableModelMap.remove(layer);
     }
 
     public void clear() {


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to