From d920109b470d6e5e8b40eb93d9a72dde845c5b75 Mon Sep 17 00:00:00 2001 From: Heng Sin Low Date: Fri, 16 Feb 2007 21:54:12 +0000 Subject: [PATCH] * unregister bug, fixed minor error in disposing of vtabbedpane and gridcontroller. --- client/src/org/compiere/grid/GridController.java | 14 ++++++++++---- client/src/org/compiere/grid/VTabbedPane.java | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/client/src/org/compiere/grid/GridController.java b/client/src/org/compiere/grid/GridController.java index a4c3f1e2b3..d46d3d8e95 100644 --- a/client/src/org/compiere/grid/GridController.java +++ b/client/src/org/compiere/grid/GridController.java @@ -199,13 +199,19 @@ public class GridController extends CPanel log.config( "(" + m_mTab.toString() + ")"); // clear info stopEditor(false); - if (m_mTab.needSave(true, false)) - m_mTab.dataIgnore(); + if (m_mTab.isLoadComplete()) + { + if (m_mTab.needSave(true, false)) + m_mTab.dataIgnore(); + } vIncludedGC = null; // Listeners - m_mTab.getTableModel().removeDataStatusListener(this); - m_mTab.getTableModel().removeVetoableChangeListener(this); + if (m_mTab.isLoadComplete()) + { + m_mTab.getTableModel().removeDataStatusListener(this); + m_mTab.getTableModel().removeVetoableChangeListener(this); + } vTable.getSelectionModel().removeListSelectionListener(this); m_mTab.removePropertyChangeListener(vTable); diff --git a/client/src/org/compiere/grid/VTabbedPane.java b/client/src/org/compiere/grid/VTabbedPane.java index e186c12e4a..5e2bed7deb 100644 --- a/client/src/org/compiere/grid/VTabbedPane.java +++ b/client/src/org/compiere/grid/VTabbedPane.java @@ -139,7 +139,7 @@ public class VTabbedPane extends CTabbedPane else if (comp[i] instanceof GridController) { GridController gc = (GridController)comp[i]; - gc.addDataStatusListener(aPanel); + gc.removeDataStatusListener(aPanel); gc.dispose(); } }