Skip to content

Commit 40d9e40

Browse files
authored
Merge pull request #3561 from ControlSystemStudio/CSSTUDIO-3463
CSSTUDIO-3463 Bugfix: Don't assume that value_prop.getValue() returns a value of type VType.
2 parents c823646 + bca3c0a commit 40d9e40

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/widgets/RegionBaseRepresentation.java

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -258,25 +258,26 @@ private void connectionOrValueChanged(final WidgetProperty<?> property, final Ob
258258
if (!model_widget.runtimePropConnected().getValue()) {
259259
severity = AlarmSeverity.UNDEFINED;
260260
}
261-
else if (value_prop != null && alarm_sensitive_border_prop.getValue())
262-
{
261+
else if (value_prop != null && alarm_sensitive_border_prop.getValue()) {
263262
// Reflect severity of primary PV's value
264-
final VType value = value_prop.getValue();
265-
final Alarm alarm = Alarm.alarmOf(value);
263+
final Object object = value_prop.getValue();
264+
final Alarm alarm = Alarm.alarmOf(object);
266265

267266
if (alarm.equals(Alarm.disconnected())) {
268267
severity = AlarmSeverity.UNDEFINED;
268+
} else if (alarm != null && alarm.getSeverity() != AlarmSeverity.NONE) {
269+
// Have alarm info
270+
severity = alarm.getSeverity();
271+
} else if (object instanceof VType) {
272+
// VType that doesn't provide alarm, always OK
273+
severity = AlarmSeverity.NONE;
274+
} else if (object != null) {
275+
// Not a vtype, but non-null, assume OK
276+
severity = AlarmSeverity.NONE;
277+
} else { // null
278+
severity = AlarmSeverity.UNDEFINED;
269279
}
270-
else {
271-
if (alarm != null && alarm.getSeverity() != AlarmSeverity.NONE)
272-
// Have alarm info
273-
severity = alarm.getSeverity();
274-
else if (value != null)
275-
// VType that doesn't provide alarm, always OK
276-
severity = AlarmSeverity.NONE;
277-
else // null
278-
severity = AlarmSeverity.UNDEFINED;
279-
}
280+
280281
}
281282

282283
// Any change?

0 commit comments

Comments
 (0)