Don't try to create FrameData in ProcessFrameMarkEnd().

This commit is contained in:
Bartosz Taudul 2024-05-23 19:48:33 +02:00
parent 216a4b7663
commit afe5c8dfbe
No known key found for this signature in database
GPG Key ID: B7FE2008B7575DF3

View File

@ -5055,15 +5055,18 @@ void Worker::ProcessFrameMarkStart( const QueueFrameMark& ev )
void Worker::ProcessFrameMarkEnd( const QueueFrameMark& ev )
{
auto fd = m_data.frames.Retrieve( ev.name, [this] ( uint64_t name ) {
auto fd = m_slab.AllocInit<FrameData>();
fd->name = name;
fd->continuous = 0;
return fd;
auto fd = m_data.frames.Retrieve( ev.name, [this] ( uint64_t name ) -> FrameData* {
return nullptr;
}, [this] ( uint64_t name ) {
Query( ServerQueryFrameName, name );
} );
if( !fd )
{
if( !m_ignoreFrameEndFaults ) FrameEndFailure();
return;
}
assert( fd->continuous == 0 );
if( fd->frames.empty() )
{