diff --git a/org.adempiere.base/src/org/compiere/model/MRecentItem.java b/org.adempiere.base/src/org/compiere/model/MRecentItem.java index 34fee60431..6272629599 100644 --- a/org.adempiere.base/src/org/compiere/model/MRecentItem.java +++ b/org.adempiere.base/src/org/compiere/model/MRecentItem.java @@ -240,6 +240,11 @@ public class MRecentItem extends X_AD_RecentItem String windowName = win.get_Translation("Name"); MTable table = MTable.get(getCtx(), getAD_Table_ID()); PO po = table.getPO(getRecord_ID(), null); + if (po == null) { + /* Recent Item was deleted (probably with direct SQL DELETE) */ + this.deleteEx(true, null); + return null; + } String recordIdentifier = ""; if (po.get_ColumnIndex("DocumentNo") > 0) recordIdentifier = recordIdentifier + "_" + po.get_ValueAsString("DocumentNo"); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/dashboard/DPRecentItems.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/dashboard/DPRecentItems.java index c8c43c363b..3eef8a4314 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/dashboard/DPRecentItems.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/dashboard/DPRecentItems.java @@ -170,6 +170,8 @@ public class DPRecentItems extends DashboardPanel implements EventListener { int riShown = 0; for (MRecentItem ri : ris) { String label = ri.getLabel(); + if (label == null) + continue; ToolBarButton btnrecentItem = new ToolBarButton(String.valueOf(ri.getAD_RecentItem_ID())); btnrecentItem.setLabel(label); btnrecentItem.setImage(getIconFile());