diff --git a/app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/widgets/RegionBaseRepresentation.java b/app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/widgets/RegionBaseRepresentation.java index 694eaa17c8..89c2d675a3 100644 --- a/app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/widgets/RegionBaseRepresentation.java +++ b/app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/widgets/RegionBaseRepresentation.java @@ -255,14 +255,19 @@ private void connectionOrValueChanged(final WidgetProperty property, final Ob AlarmSeverity severity = AlarmSeverity.NONE; // Ignore custom border and value of primary PV, show disconnected - final VType value = value_prop.getValue(); - final Alarm alarm = Alarm.alarmOf(value); - if (! model_widget.runtimePropConnected().getValue() || alarm.equals(Alarm.disconnected())) + if (!model_widget.runtimePropConnected().getValue()) { severity = AlarmSeverity.UNDEFINED; - else - { // Reflect severity of primary PV's value - if (value_prop != null && alarm_sensitive_border_prop.getValue()) - { + } + else if (value_prop != null && alarm_sensitive_border_prop.getValue()) + { + // Reflect severity of primary PV's value + final VType value = value_prop.getValue(); + final Alarm alarm = Alarm.alarmOf(value); + + if (alarm.equals(Alarm.disconnected())) { + severity = AlarmSeverity.UNDEFINED; + } + else { if (alarm != null && alarm.getSeverity() != AlarmSeverity.NONE) // Have alarm info severity = alarm.getSeverity();