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