pstats: Fix regression: crash when opening session file
This commit is contained in:
parent
a2890c03de
commit
2aa2a35a9f
|
|
@ -58,7 +58,7 @@ public:
|
|||
INLINE double get_level(size_t n) const;
|
||||
|
||||
bool write_datagram(Datagram &destination, PStatClient *client = nullptr) const;
|
||||
void read_datagram(DatagramIterator &source, PStatClientVersion *version = nullptr);
|
||||
void read_datagram(DatagramIterator &source, PStatClientVersion *version);
|
||||
|
||||
private:
|
||||
class DataPoint {
|
||||
|
|
|
|||
|
|
@ -471,7 +471,7 @@ read_datagram(DatagramIterator &scan) {
|
|||
std::string name = scan.get_string();
|
||||
define_thread(thread_index, name);
|
||||
|
||||
_threads[thread_index]._data->read_datagram(scan);
|
||||
_threads[thread_index]._data->read_datagram(scan, this);
|
||||
}
|
||||
|
||||
update_toplevel_collectors();
|
||||
|
|
|
|||
|
|
@ -328,11 +328,11 @@ write_datagram(Datagram &dg) const {
|
|||
* Restores the thread data from a datagram.
|
||||
*/
|
||||
void PStatThreadData::
|
||||
read_datagram(DatagramIterator &scan) {
|
||||
read_datagram(DatagramIterator &scan, PStatClientVersion *version) {
|
||||
int frame_number;
|
||||
while ((frame_number = scan.get_int32()) != -1) {
|
||||
PStatFrameData *frame_data = new PStatFrameData;
|
||||
frame_data->read_datagram(scan);
|
||||
frame_data->read_datagram(scan, version);
|
||||
|
||||
record_new_frame(frame_number, frame_data);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
class PStatCollectorDef;
|
||||
class PStatFrameData;
|
||||
class PStatClientData;
|
||||
class PStatClientVersion;
|
||||
|
||||
/**
|
||||
* A collection of FrameData structures for recently-received frames within a
|
||||
|
|
@ -63,7 +64,7 @@ public:
|
|||
void record_new_frame(int frame_number, PStatFrameData *frame_data);
|
||||
|
||||
void write_datagram(Datagram &dg) const;
|
||||
void read_datagram(DatagramIterator &scan);
|
||||
void read_datagram(DatagramIterator &scan, PStatClientVersion *version);
|
||||
|
||||
private:
|
||||
void compute_elapsed_frames() const;
|
||||
|
|
|
|||
Loading…
Reference in New Issue