diff --git a/Database/APR/RootStorageSvc/src/RootTreeContainer.cpp b/Database/APR/RootStorageSvc/src/RootTreeContainer.cpp index 2d0057c41050cc6e125ee6492856c11c0453da1c..b1b100f98b59df3537dd3bca7ce88ddb7a16792c 100755 --- a/Database/APR/RootStorageSvc/src/RootTreeContainer.cpp +++ b/Database/APR/RootStorageSvc/src/RootTreeContainer.cpp @@ -434,11 +434,14 @@ RootTreeContainer::loadObject(DataCallBack* call, Token::OID_t& oid, DbAccessMod dsc.branch->SetAddress(dsc.object); break; } + // Must move tree entry to correct value + if(m_tree) { + if (m_tree->GetReadEntry() > evt_id) m_tree->LoadTree(evt_id); + } else if (dsc.branch->GetTree()->GetReadEntry() > evt_id) { + dsc.branch->GetTree()->LoadTree(evt_id); + } // read the object numBytesBranch = dsc.branch->GetEntry(evt_id); - // Must move tree entry to correct value - if(m_tree) m_tree->LoadTree(evt_id); - else dsc.branch->GetTree()->LoadTree(evt_id); numBytes += numBytesBranch; if ( numBytesBranch >= 0 ) { hasRead=true;