diff --git a/fairmq/StateMachine.cxx b/fairmq/StateMachine.cxx index 56668dea..cc2ee6eb 100644 --- a/fairmq/StateMachine.cxx +++ b/fairmq/StateMachine.cxx @@ -310,7 +310,9 @@ try { void StateMachine::SubscribeToStateChange(const string& key, function callback) { - static_pointer_cast(fFsm)->fStateChangeSignalsMap.insert({key, static_pointer_cast(fFsm)->fStateChangeSignal.connect(callback)}); + // Check if the key has a integer value as prefix, if yes, decode it. + int i = strtol(key.c_str(), nullptr, 10); + static_pointer_cast(fFsm)->fStateChangeSignalsMap.insert({key, static_pointer_cast(fFsm)->fStateChangeSignal.connect(i, callback)}); } void StateMachine::UnsubscribeFromStateChange(const string& key)