소스 검색

pstats: Backport fix for crash when receiving frames out of order

rdb 9 달 전
부모
커밋
9a2203b9bb
1개의 변경된 파일8개의 추가작업 그리고 0개의 파일을 삭제
  1. 8 0
      pandatool/src/pstatserver/pStatThreadData.cxx

+ 8 - 0
pandatool/src/pstatserver/pStatThreadData.cxx

@@ -290,6 +290,14 @@ record_new_frame(int frame_number, PStatFrameData *frame_data) {
   }
 
   int index = frame_number - _first_frame_number;
+
+  // It's possible to receive frames out of order.
+  while (index < 0) {
+    _frames.push_front(nullptr);
+    ++index;
+    --_first_frame_number;
+  }
+
   nassertv(index >= 0 && index < (int)_frames.size());
 
   if (_frames[index] != nullptr) {