diff --git a/app/pvtable/src/main/java/org/phoebus/applications/pvtable/model/PVTableItem.java b/app/pvtable/src/main/java/org/phoebus/applications/pvtable/model/PVTableItem.java index 213376134d..6e902bb4b9 100644 --- a/app/pvtable/src/main/java/org/phoebus/applications/pvtable/model/PVTableItem.java +++ b/app/pvtable/src/main/java/org/phoebus/applications/pvtable/model/PVTableItem.java @@ -203,6 +203,9 @@ private void updateDescription() { VType currentValue = getValue(); if(currentValue != null) { PV thePV = pv.get(); + // DisplayProvider is an optional interface for VType values, + // not PVs, but the custum datasource as Muscade happens to implement + // DisplayProvider for enum and bool PVs, so check for that here Display display = thePV instanceof DisplayProvider ? ((DisplayProvider) thePV).getDisplay() : null; display = display == null && currentValue instanceof DisplayProvider ? ((DisplayProvider) currentValue).getDisplay(): display; if (display != null) {