diff --git a/base/plugin.xml b/base/plugin.xml
index a02eda5e25..f751974f4f 100644
--- a/base/plugin.xml
+++ b/base/plugin.xml
@@ -2,6 +2,6 @@
-
+
diff --git a/base/src/org/adempiere/base/Core.java b/base/src/org/adempiere/base/Core.java
index 643292bc85..c5e5431ada 100644
--- a/base/src/org/adempiere/base/Core.java
+++ b/base/src/org/adempiere/base/Core.java
@@ -3,9 +3,6 @@ package org.adempiere.base;
import java.net.URL;
import java.util.List;
-import org.adempiere.base.equinox.ExtensionList;
-import org.compiere.model.Callout;
-
/**
* This is a facade class for the Service Locator.
* It provides simple access to all core services.
diff --git a/client/src/org/compiere/grid/GridController.java b/client/src/org/compiere/grid/GridController.java
index 843123af3b..c4a5c3689d 100644
--- a/client/src/org/compiere/grid/GridController.java
+++ b/client/src/org/compiere/grid/GridController.java
@@ -33,6 +33,7 @@ import java.beans.PropertyVetoException;
import java.beans.VetoableChangeListener;
import java.util.ArrayList;
import java.util.HashSet;
+import java.util.List;
import java.util.Properties;
import java.util.Set;
import java.util.logging.Level;
@@ -48,6 +49,8 @@ import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
+import org.adempiere.base.Core;
+import org.adempiere.base.IColumnCallout;
import org.adempiere.plaf.AdempiereLookAndFeel;
import org.adempiere.plaf.AdempierePLAF;
import org.compiere.apps.ADialog;
@@ -786,12 +789,14 @@ public class GridController extends CPanel
// Process Callout
GridField mField = m_mTab.getField(col);
- if (mField != null
- && (mField.getCallout().length() > 0 || m_mTab.hasDependants(mField.getColumnName())))
- {
- String msg = m_mTab.processFieldChange(mField); // Dependencies & Callout
- if (msg.length() > 0)
- ADialog.error(m_WindowNo, this, msg);
+ if (mField!=null) {
+ List callouts = Core.findCallout(m_mTab.getTableName(), mField.getColumnName());
+ if (mField.getCallout().length() > 0 || callouts.size()>0 || m_mTab.hasDependants(mField.getColumnName()))
+ {
+ String msg = m_mTab.processFieldChange(mField); // Dependencies & Callout
+ if (msg.length() > 0)
+ ADialog.error(m_WindowNo, this, msg);
+ }
}
//if (col >= 0)
dynamicDisplay(col);
diff --git a/equinox-target/build.xml b/equinox-target/build.xml
index fb545857f8..e4addb3f5f 100644
--- a/equinox-target/build.xml
+++ b/equinox-target/build.xml
@@ -40,9 +40,11 @@ the following responsibilities:
-
+
+
+