diff --git a/chimeraTKApp/src/ChimeraTK/EPICS/RecordDeviceSupport.h b/chimeraTKApp/src/ChimeraTK/EPICS/RecordDeviceSupport.h index b1fecaa..92d5143 100644 --- a/chimeraTKApp/src/ChimeraTK/EPICS/RecordDeviceSupport.h +++ b/chimeraTKApp/src/ChimeraTK/EPICS/RecordDeviceSupport.h @@ -109,10 +109,13 @@ class RecordDeviceSupportTrait { device = DeviceRegistry::getDevice(deviceNameAndProcessVariableName.first); { boost::unique_lock lock(device->mutex); - processVariableSupport = device->createProcessVariableSupport( - deviceNameAndProcessVariableName.second); processVariable = device->pvManager->getProcessVariable( deviceNameAndProcessVariableName.second); + // We use processVariable->getName() so that we use the canonicalized name + // when create the process-variable support. Otherwise, notifications for + // the process variable might not be dispatched to the correct support. + processVariableSupport = device->createProcessVariableSupport( + processVariable->getName()); } }