Author: jm
Date: 2012-07-04 13:33:14 -0700 (Wed, 04 Jul 2012)
New Revision: 29757
Modified:
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AbstractTableBrowser.java
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
Log:
Fixes #1211: Fixed CyTable leak in AbstractTableBrowser
Modified:
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AbstractTableBrowser.java
===================================================================
---
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AbstractTableBrowser.java
2012-07-04 20:32:23 UTC (rev 29756)
+++
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AbstractTableBrowser.java
2012-07-04 20:33:14 UTC (rev 29757)
@@ -130,9 +130,16 @@
// Delete the given table from the JTable
public void deleteTable(CyTable cyTable){
+ BrowserTableModel model = browserTableModels.remove(cyTable);
+ if (model == null) {
+ return;
+ }
+ scrollPanes.remove(model);
+ serviceRegistrar.unregisterAllServices(model);
+
+ model.getBrowserTable().setModel(new DefaultTableModel());
+
if (currentTable == cyTable) {
-
browserTableModels.get(cyTable).getBrowserTable().setModel(new
DefaultTableModel());
- browserTableModels.remove(cyTable);
currentTable = null;
}
}
Modified:
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
===================================================================
---
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
2012-07-04 20:32:23 UTC (rev 29756)
+++
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
2012-07-04 20:33:14 UTC (rev 29757)
@@ -219,8 +219,14 @@
}
setOpaque(true);
-
this.setText(network.getRow(network).get(CyNetwork.NAME, String.class));
+ // When a network is deleted, its tables are also
deleted, but it's
+ // possible that we still have a reference to a network
with no tables.
+ try {
+
this.setText(network.getRow(network).get(CyNetwork.NAME, String.class));
+ } catch (NullPointerException e) {
+ }
+
return this;
}
}
--
You received this message because you are subscribed to the Google Groups
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/cytoscape-cvs?hl=en.