const ctf::src::ClkClsCfg& clkClsCfg)
{
int ret = 0;
+ bt2::TraceClass::Shared traceCls;
ctf_metadata_decoder_config decoder_config {ctf_fs_trace->logger};
decoder_config.self_comp = self_comp;
goto end;
}
- ctf_fs_trace->metadata->trace_class =
- ctf_metadata_decoder_get_ir_trace_class(ctf_fs_trace->metadata->decoder.get());
+ traceCls = ctf_metadata_decoder_get_ir_trace_class(ctf_fs_trace->metadata->decoder.get());
+ if (traceCls) {
+ ctf_fs_trace->metadata->trace_class = traceCls.release().libObjPtr();
+ }
BT_ASSERT(!self_comp || ctf_fs_trace->metadata->trace_class);
+
ctf_fs_trace->metadata->tc =
ctf_metadata_decoder_borrow_ctf_trace_class(ctf_fs_trace->metadata->decoder.get());
BT_ASSERT(ctf_fs_trace->metadata->tc);