Fix IOpaqueAddress lifetime in EvtStoreSvc
Extend the IOpaqueAddress
lifetime in setRoot
and registerAddress
to be the same as the object created from the address by pushing it into the same Entry
.
This fixes a problem with reifying the LHCb RawEvent
in case the RawDataCnvSvc
is used without the 'copy' option. In that scenario, the data itself is owned by the IOpaqueAddress
and the RawEvent
is just a 'view', and letting the IOpaqueAddress
go out of scope will result in the data being overwritten with 'interesting' consequences...
Edited by Gerhard Raven