- segment->binary_data.emplace_back();
- DecodeBinaryData* bin_data = &(segment->binary_data.back());
+ DecodeBinaryClass* bin_class = nullptr;
+ for (DecodeBinaryClass& bc : segment->binary_classes)
+ if ((bc.decoder->decoder() == decc) && (bc.info->bin_class_id == (uint32_t)pdb->bin_class))
+ bin_class = &bc;
+
+ if (!bin_class) {
+ qWarning() << "Could not find valid DecodeBinaryClass in segment" <<
+ ds->current_segment_id_ << "for binary class ID" << pdb->bin_class <<
+ ", segment only knows" << segment->binary_classes.size() << "classes";
+ return;
+ }
+
+ // Add the data chunk
+ bin_class->chunks.emplace_back();
+ DecodeBinaryDataChunk* chunk = &(bin_class->chunks.back());